自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (1)
  • 收藏
  • 关注

原创 0-1背包问题(回溯法)

前言在之前的博客中,我写过用动态规划解决的0-1背包问题(具体可查看动态规划(0-1背包问题)),但是在最近刷软考题的时候,发现回溯法也可以解决0-1背包问题,对于回溯法我不是很了解,于是在学习了回溯法之后,我有用回溯法写了0-1背包的算法过程0-1背包问题给定n种物品和一背包。物品 i 的重量为 w[i],其价值为 v[i],背包的容量为 c。问应该如何选择装入背包中的物品,使得装入背包中物品的总价值最大?回溯法回溯法(探索与回溯法)是一种选优搜索法,又称为试探法,按选优条件向前搜索,以达到目标

2021-08-22 21:28:33 1384 1

原创 动态规划-(0-1背包问题)

前言最近在做动态规划的练习时遇到了0-1背包问题,当时困扰了很久,在反复思考以及与人讨论和学习后,有了一些自己的理解,在这里将这类问题的思路整理一下。0-1背包问题这是在百度百科找到的背包问题的解释简单来说,该问题就是:给定n种物品和一背包。物品 i 的重量为 w[i],其价值为 v[i],背包的容量为 c。问应该如何选择装入背包中的物品,使得装入背包中物品的总价值最大?思路分析我们总是用专业术语来讨论问题很容易把自己绕进去,而且容易思路混乱,理解乏力。那么我们就用一些简单易懂的例子来解释这

2021-08-15 23:07:12 355

原创 每日算法练习(二)

对于区间[a,b]上连续不断且f(a)·f(b)<0的函数y=f(x),通过不断地把函数f(x)的零点所在的区间一分为二,使区间的两个端点逐步逼近零点,进而得到零点近似值的方法叫二分法。

2021-08-11 17:54:22 136

原创 每日算法练习(一)

1、Z字型变换将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “LEETCODEISHIRING” 行数为 3 时,排列如下:之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“LCIRETOESIIGEDHN”。请你实现这个将字符串进行指定行数变换的函数:string convert(string s, int numRows);示例 1:输入: s = “LEETCODEISHIRING”, numRows = 3输出: “LCIR

2021-08-06 21:07:37 113

原创 设计模式之简单工厂模式与策略模式(通过两种模式设计的计算器/java)

前言在前段时间制作的图书馆管理系统的mysql重构版时,通过使用三层架构和面向对象的思维让我对这方面的知识有所提升。但在结束之后经过点拨发现在整个项目重构的过程中没有使用到设计模式里的思想,导致整个项目不太符合低耦合高内聚设计原则。所以决定在学习设计模式后,进行一个简单的小项目来练习使用设计模式。本次选择了简单工厂模式、策略模式以及两个模式混合使用来完成计算器的功能。简单工厂模式在百度百科我们可以直接搜索到简单工厂模式的简介:由此我们可以得知,使用简单工厂模式设计的项目中,客户端只需要输入相应的内

2021-07-18 15:57:14 1064 4

原创 图书馆管理系统重构(数据库版)

前言之前和同学合作开发了一个通过I/O流实现的图书馆管理系统,具体可以看我之前写的博客(Java实战-基于I/O流设计的图书馆管理系统项目总结),在学习了数据库之后,我们基于之前的项目,合作完成了这一个带数据库版本的图书馆管理系统。两位和我合作的同学博客:小张报道的博客、隔壁皮皮王的博客项目具体内容本次的图书馆管理系统的基本功能大体可以参考之前I/O流版本的图书馆管理系统所具有的功能(Java实战-基于I/O流设计的图书馆管理系统项目总结)。省流小助手:数据库因为本次项目需要用到mysql数

2021-07-06 20:34:57 315 1

原创 数据结构-排序之快速排序(使用Java代码实现)

前言最近在学习数据结构的排序算法时,学到了快速排序。对于快速排序的算法的具体实现过程有了一定了解,但在具体实现的时候出现了一些小问题。在和同学讨论和查阅资料过后打算使用java代码将其实现出来。快速排序快速排序(Quicksort)是对冒泡排序的一种改进。基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列具体代码排序部分快速排序可以采用递

2021-06-06 22:35:08 173 5

原创 数据结构-排序之基数排序(使用java代码实现)

前言最近在学习数据结构的排序算法时,学到了基数排序。对于基数排序的算法的具体实现过程有了一定了解,但在具体实现的时候出现了一些小问题。在和同学讨论和查阅资料过后打算使用java代码将其实现出来。基数排序基数排序是桶排序(或箱排序)的优化算法,解决了桶排序对于差值过大的列表排序时造成的大量空间冗余。基数排序是根据数位进行排序的,它从每个数的个位开始,将对应的数存入相应的桶中,然后从桶中顺序取出数进行排序,排序完成之后,进一位,从十位开始,重复上述步骤,直至将最大位数的数的最高位进行排序完毕,最后获得的

2021-05-30 17:23:56 262 2

原创 范式

范式范式,全称为数据库设计范式或数据库的设计范式,是符合某一种级别的关系模式的集合。构造数据库必须遵循一定的规则。在关系型数据库中,这种规则就是范式。关系型数据库中的关系必须满足一定的要求,及满足不同的范式。六种范式目前关系型数据库有六种范式,分别是:第一范式(1NF)第二范式(2NF)第三范式(3NF)Boyce-Codd范式(BCNF)第四范式(4NF)第五范式(5NF)三大范式一般来说我们建立数据库只需要满足至第三范式(3NF)即可。第一范式(1NF)在任何一个关系数据库

2021-05-25 17:30:37 158 2

原创 MySQL数据库主键

MySQL主键概述主键又称为主关键字(Primary key),指的是一个列或多列的组合,其值能唯一地标识表中的每一行,通过它可以强制表的实体完整性。主键可以由一个字段,也可以由多个字段组成,分别称为单字段主键或多字段主键。并且可以唯一确定表中的一行数据,或者可以唯一确定一个实体。主键主要是用与其他表的外键关联,以及本记录的修改与删除。在有些数据库中,虽然主键不是必需的,但最好每个表都设置一个主键,不管是单主键还是复合主键,它存在代表着表结构的完整性,表的记录必须得有唯一区分的字段。主键的作用

2021-05-25 15:25:14 702 4

原创 MySQL中的常见函数之单行函数

前言MySQL数据库中提供了很丰富的函数,涵盖了不同的类型,合理使用这些函数会让我们在使用MySQL时更加方便,常见函数又分为单行函数和分组函数,本章给大家总结了大部分单行函数的使用。单行函数单行函数分为:字符函数数字函数日期函数其他函数流程控制函数字符函数字符函数包括:length:获取参数值的字节个数concat:拼接字符串substr:截取指定索引处后的字符instr:返回子串第一次出现的索引,如果找不到则返回0trim:去掉字符串左右两边的空格,使用(‘需要去掉的

2021-05-23 19:40:47 302 3

原创 MySQL查询之排序查询

前言之前总结的有MySQL查询中的基础查询条件查询接下来将在本篇进行MySQL中的排序查询的总结排序查询为什么要使用排序查询?当我们查询内容时,经常出现查询的内容杂乱无章,不方便阅读数据,这时我们就需要将查询出来的数据以升序或降序的方式进行排列,以方便阅读数据。排序查询的语法SELECT 查询列表FROM 表WHERE 筛选条件 (可以没有)ORDER BY 排序的列表 [ASC(升序)/DESC(降序)]执行顺序该语句的执行顺序为:先执行from子句------->

2021-05-17 17:29:23 2661 5

原创 MySQL查询之条件查询

前言之前总结了MySQL查询中的基础查询接下来将在本篇进行MySQL中的条件查询的总结条件查询语句条件查询就是在基础查询的基础之上,添加判定条件,对数据进行筛选,查找到相对应的数据这时我们就要用到一个新的子句——wherewhere子句放在from后面,具体写法如下:select 查询列表from 表名where 筛选条件;执行顺序该语句的执行顺序为:先执行from子句------->再执行where子句进行数据筛选------->最后执行select

2021-05-10 11:50:54 1318 4

原创 MySQL查询之基础查询

前言MySQL 是最流行的关系型数据库管理系统,在 WEB 应用方面 MySQL 是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。本篇内容主要讲解MySQL数据库查询数据的基础查

2021-05-06 10:10:30 906 6

原创 Java中查找文本中特定内容后进行修改

问题的产生基于I/O流编写的图书馆管理系统在最近使用I/O流写图书馆管理系统中有修改图书信息的部分,以及借书和还书等多个部分内容都需要对文本中的特定位置的内容进行精确查找并修改,在查阅资料和同学讨论后最终将该问题解决了。问题解决下面通过修改密码为例,演示一下该方法的实现:具体代码: String filePath = "用户信息.txt"; User modifyFile = new User(); System.out.pr

2021-04-19 17:28:35 801 8

原创 Java实战-基于I/O流设计的图书馆管理系统项目总结

前言当前,我还没有学到数据库相关的知识,想要完全通过Java来完成一个可以存储数据的图书馆管理系统就只能使用I/O流的知识,将内容都保存到文件中,再进行增删改查的操作,这就很考验我们的Java基础知识掌握能力。项目介绍该项目重点考察了:Java基本语法的掌握流程控制语句的熟练使用面向对象思想的理解能否熟练使用封装、继承、多态接口、异常的熟悉集合的使用是否熟悉掌握I/O流相关操作项目说明传统的人工管理图书馆流程繁琐,我们需求设计一个图书馆管理系统来方便学生借书以及管理员管理书籍

2021-04-19 16:31:15 1031 12

原创 Java中删除文本文件中特定行的内容

问题的产生在最近使用I/O流写图书馆管理系统中管理员对图书和用户的管理操作时,遇到了需要删除特定图书和用户的操作,在查询资料和询问老师后得知I/O流中没有可以直接删除单独行的方法。解决思路同时也为我提供了新的思路:将整个文件中的全部内容读取出来,然后通过集合将每一行单独存放,通过查找到集合内特定的内容后,将该行内容删除,此时list集合会自动将后面的内容填补上来,再重新写入的时候不会出现空行的情况。这时再重新遍历一次该集合,将现在的集合内容写入文件中,此时再看文件,已经完成了删除需要删除的特定行内容了

2021-04-19 11:25:49 9425 7

原创 Java学习——File类

File类File类的设计主要目的是为了在Java中实现对文件进行增加、删除和访问文件路径等方法,但File类中不具有对文件内部信息进行增删改查的功能。File类中的方法研究File类中的方法有助于我们更熟练的掌握File类的使用。创建File对象创建File对象有多种方法,但创建出的对象都是同一个File file = new File(“pathname”);具体方法如下: //创建一个File对象 File file = new File("a.txt");

2021-04-11 23:28:32 931 3

原创 Java学习——日期与时间

日期与时间时间是物质的运动、变化的持续性、顺序性的表现。时区以前,人们通过观察太阳位置决定时间。各地区经度不同导致各地区相应的时间也会有所不同。因此,在1863年,首次使用了时区这一概念。通过给这一地区设立一个标准的区域时间,来解决各地时间差异的问题。世界上各个地区因为日出日落时间有所偏差,就会导致时间的差异,这一差异就是所谓的“时差”。世界协调时间(UTC)不属于任意时区 。协调世界时,又称世界统一时间,世界标准时间,国际协调时间,简称UTC。点击 此处可查看世界协调时间(UTC)。世界

2021-04-06 19:53:27 201 5

原创 Java学习总结(二)接口、异常

接口概念接口就是一种公共的规范标准,只要符合规范标准,谁都可以通用。Java中的接口更多的体现在对行为的抽象有时我们需要从多个不相关的类中设计出一个子类型,而java继承是单继承的特点,无法满足我们的需求,所以我们可以使用接口来达到多继承的目的特点接口用关键字interface修饰格式:public interface 接口名 {}、接口里只能有抽象方法和常量(1.8以后支持默认方法和静态方法,静态成员变量可以添加,必须初始化,因为接口不能添加构造器。)接口不能实例化,创建对象没有

2021-03-29 10:57:06 392 10

原创 Java学习总结(一)

ObjectObject类是所有类java类的父类如果在类的声明中未使用extends关键字指明其父类,则默认父类为java.lang.Object" == " 操作符和equals()==是判断两个人是不是住在同一个地址,而equals是判断同一个地址里住的人是不是同一个" == " 操作符:检查如果两个操作数的值是否相等,如果相等则条件为真。基本类型比较值:只要两个变量的值相等,即为true。引用类型比较引用(是否指向同一个对象):只有指向同一个对象时, == 才返回true。用

2021-03-23 19:25:03 937 10

原创 面向对象-抽象类和抽象方法及练习

抽象类用abstract关键字修饰的类,叫做抽象类抽象类不能被实例化抽象类是用来被继承的抽象类的子类必须要重写父类的方法并提供方法体抽象方法用abstract关键字来修饰的方法,叫做抽象方法抽象方法只有方法声明,没有实现方法,直接使用分号结尾,如:public abstract void say();如果一个类中含有抽象方法,那么这个类必须被声明为抽象类Tips:abstract不能用来修饰变量、代码块和构造器abstract不能用来修饰私有、静态、final方法和f

2021-03-22 17:38:33 565 10

原创 一个只完成了一部分的小游戏。。。

第一次以小组的方式讨论制作一个比较有意思的小项目初期设计的时候想要实现的内容有点多,导致后来搁浅了很多内容部分系统设计比较简陋,算是给以后制作这类项目埋下一个伏笔,希望以后再制作这类项目时能提高完成度和小组配合度。下面是代码部分:技能(Skill)类:先将各职业技能文字设计好,因为是第一次做这类游戏项目,我们把技能都设计成了被动技能public class Skill { public void DaWaSkill() { System.out.println("*-大娃

2021-03-19 14:20:14 4215 13

library-management-system.rar

一个简单易懂的数据库版图书馆管理系统,适合新手练习使用

2021-07-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除