自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

原创 电商控制台前台整合优化

一般:java 反射 多线程(synchronized,在审核就是多线程) String的源码方法,ArrayList扩容的源码,HashMap类型。修改时,代码不做大幅度修改,使用面向对象编程,把添加参数做为某个类的参数,调整类.公司人员管理:用户表 商品表(上级主管表,批准)订单(请假,病假,出勤。购物车:合计功能,购物车,购物车就是一个虚表。订单,订单详情,用户表,商品表实表。只考虑逻辑,考虑bug,理清思路,后期优化。加入购物车后,不显示主菜单,显示当前商品。(4)回到主菜单,需要查看购物车。

2023-12-15 22:52:34 85

原创 电商控制台系统订单订单详情的整合

登陆成功后用户可以下单,或者直接结算加入购物车(没有表,控制台程序,程序结束,就不存在) 这里购物车虚类(实类,类-à表,虚表:没有表)功能,直接购买,加入购物车的订单就是遍历购物车中的每个商品,执行每个商品的sql语句加入订单详情,再生成一个总体的订单就可以了.如果加入购物车,只是在购物车(内存)中产生数据, 在购物车中生成订单,生成订单,生成订单详情(一些数据)先添加订单表,还是先添加订单详情表,订单详情表有一个字段是订单id,先有订单的id,才有订单详情表.

2023-12-15 22:50:38 86

原创 java商城项目的实现更新

因为查询需要把查询出的数据返回,这里对类作统一的写法,采用反射技术,传入参数是类的名称。根据不同的类型获取不同的数据,注意String输出的类型是class java.lang.String。3.接收的Collection是字符串,这需要参数转换,使用迭代器的方式。采用invoke执行方法,invoke的第一个参数是对象,第二个参数的值。注意:使用范型T匹配任意一个类,一定类中加上范型T,在方法中引用范型T。实现查询,返回ResultSet的List当中的类型就是范型T。先把需要修改的用户按id查询。

2023-12-12 16:35:29 100

原创 电商系统增删改查统一接口的编写

在编程中,凡是键值对存在的数据,一个类型是类,类在实例时,很难辩别类型。Class.forName这里传入一个字符串,反射后实例化,new Instance();Collection中的内容除了toArray转数据去遍历所有的内容,不能用别的方法引用其中的元素。mymaps.values存储的所有的值, 这个集合中的值类型是Collection,把Collection传给JDBC的工具类。Insert into 表名(字段) values,values后面跟的是占位符问号。再 构建语句中的问号。

2023-12-11 15:21:29 51

原创 电商控制台系统商品模块的开发

有了接口,后面具体实现,商品实现商品的增删改查,订单实现订单的增删改查 ,订单详情实现订单详情的增删改查。增add() 删除delete() 改 update()查 查所有findAll 查单个 findOne。订单(增删改查), 订单详情(增删改查)商品模块中:增删改查是最基本的操作。订单详情类-à订单详情表建立关系。查询:复杂查询(与多表有关系)订单类---à订单表建立关系。实现统一接口:(5个方法)增加数据由用户输入的内容。ISBN编号:字符串。订单,订单详情两个表。

2023-12-08 15:15:52 52

原创 电商控制台系统商品模块的处理

审核机制,状态位, 注册状态位未审核,但是审核后这个数据成为本批审核的游离分子,相当于用的select分页的语句数据记录动态,有些记录是审核不到,在某一项测试(隔页隔项审批记录出现) ,保证本批审核过程中,每次进行分页最终数据是固定,这里引用另外一个状态位check_staus,表示本轮需要审核的数据,本轮审核结束后,版本加1,,版本加的操作下次进行批量审核不出现此数据。机票预订,所有的java都是管理程序,管理程序都是增删改查,在每个商品管理都有一个替代的词,替代的词+商品就是项目。

2023-12-07 16:07:32 44

原创 控制台电商项目实现

在这个界面上要实现审核,必须更新字符,把addcheck由0置1,还有一个,把数据一个一个取出来 select * from user where addcheck=0 ,数据取出,审核通过是针对当前的记录,显示当前记录,当前记录的内容就已经显示,这里找出一个标志唯一记录的主键就可以。控制台开发的程序,有记录,相当于把这个数据写入日志文件,写入日志文件后找到专人专责的根据。把这里后台审核机制也做一个模块 admin也有user,也有goods。使用名称:历史阶段性---à人工审核,admin 后台管理。

2023-12-05 16:28:41 148

原创 Java题4:关于java的选择题简答题及答案

答案:A. 在程序运行时获取类的信息并动态调用类的方法和属性。题目16:Java中的日期和时间操作可以通过哪个类来实现?题目11:Java中的数据库连接可以通过哪个接口来实现?题目19:Java中的正则表达式可以通过哪个类来实现?题目5:Java中的多线程是通过继承哪个类来实现的?题目10:Java中的网络编程可以通过哪个类来实现?题目7:Java中的继承是通过哪个关键字来实现的?题目9:Java中的文件操作可以通过哪个类来实现?题目12:Java中的注解是一种什么类型的元数据?

2023-12-04 19:28:29 551

原创 实现用户登陆

Java 防止sql注入,预编译手段,先不用传参数,把sql 语句传入,sql语句把参数做为占位符使用,sql编译后把占位符的位置填上对应的数据。整合一个类,把连接Connection放在一个类中,调用连接直接取,经常使用的工具类用静态方法处理。SQL注入,当使用拼接的sql语句. 输入密码时把语句拼接成or,or后面跟上一个条件正确的式子。输入用户名和密码,如果输入用户名和密码正确,允许登录。数据库连接重码率太高,需要整合一个工具类。数据库连接,重码率的优化。应用数据库要进行开发。增删改需要开启事务。

2023-12-04 16:32:32 51

原创 Java 连接数据库

在Resultset中看到next()方法,一定用到Iterator迭代器,这个迭代器可以用next();java面向接口,提供了数据库的相关接口,每个不同的数据库厂家根据接口开发方法。Java使用数据库,调用对应接口的实现。注意:java 只出规范,其他的应用按照规范去开发,java在每一个规范中都有反射去找到相关的类。(6)根据mysql的数据类型与java 的数据类型的对应关系,使用对应的get方法,得出结果.在数据方法中,Connection中有方法close(),close()关闭。

2023-12-01 16:29:24 162

原创 数据库的多表查询(MYSQL)表表联立

mysql> SELECT d.deptno AS 部门编号, d.dname as 部门名称, d.loc as 部门位置, COUNT(e.empno) as 部门人数 FROM dept d。mysql> SELECT e.ename, e.job, e.sal, e.mgr, e2.ename AS 上级领导,d.dname。mysql> SELECT e1.empno as 员工编号, e1.ename as 员工姓名, d.dname as 部门名称。1. 查出至少有一个员工的部门。

2023-11-30 17:07:44 554

原创 在数据库中进行表内容的修改(MYSQL)

根据表中内容,用命令语句创建数据库,表格,以及插入,修改,删除表格中的内容。(2). 写出sql语句,查询所有年龄大于等于22小于25的女性员工。('北京', '女', 19, '张三'),('上海', '男', 20, '李四'),('广州', '女', 25, '王五'),('北京', '女', 20, '薛六'),('上海', '男', 22, '王五'),('广州', '男', 28, '赵七'),('北京', '女', 23, '张四');(1). 写出sql语句,查询所有年龄大于20岁的员工。

2023-11-28 16:45:58 785 1

原创 Java题3

7. Java中的接口(interface)和抽象类(abstract class)有什么区别?A. ArrayList是基于数组实现的,LinkedList是基于链表实现的。20. Java中的注解(annotation)是用来做什么的?19. Java中的泛型(generics)是用来做什么的?10. Java中的反射(reflection)是指什么?4. Java中的包(package)是用来做什么的?11. Java中的垃圾回收是通过什么机制实现的?9. Java中的异常处理是通过什么机制实现的?

2023-11-26 20:31:39 186

原创 Java的字符流和字节流

首先把文件全部在缓存中,不执行flush()方法,只有粘贴时执行flush方法,New Writer里面传File,File没有路径是做不了的.相当于剪切必须知道剪切到哪里.实际操作是不知道路径的,就必须有一个路径先有效,后期把路径覆盖.。如果文件存在,复制到缓存中,不flush, 自己找一个路径,做临时文件的路径,用户选择粘贴:输入粘贴的地址:地址是文件是文件夹,文件夹(有没有无所谓,创建文件夹)Buffer,使用缓存,write后一定flush(),如果关闭,自动flush()

2023-11-24 14:30:23 95

原创 Java的IO流

/如果是文件,判断是否是文本文件还是图片,传入的是File,先取File的getName()文件名。//read方法读文件,返回的整型,如果read返回-1就读结束了,字节流是一个字节一个字节读。遍历给定文件夹中的所有文件,可能有文件夹套用文件夹,如果是图片是输出文件名,如果是文本文件,输出最后的修改时间。遍历文件(遍历指定目录下所有文件,文件判断是否是图片,是图片,移动到某个目录去保存,输出文件修改时间。改,文件名,文件的相关属性,renameTo参数类型是File,new File。

2023-11-23 15:35:29 76

原创 java进行文件的增删改查

java编程:进行文件的增、删、改、查

2023-11-22 13:59:08 529

原创 Java集合使用实战

3.商品管理操作就是增删改查,实质是产生变化的商品内容, 单纯的数组操作麻烦,数组是定长,使用列表ArrayList,如果店家上传了商品,重复的商品,至少商品的编号是不能重复的,只有商品名称,商品价格,商品类中不能重复的是商品编号,商品编号唯一表征商品的.ArrayList是不可以去重的,这里的去重只能按照商品编号去重,不能把对象放在一起去重。或者类(属性,方法)-->类属性-->值 ,把属性封装, 封装后私有化,某些属性可以getter,setter。

2023-11-21 15:35:14 99

原创 Java题2

A) 在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过。D) this()和super()可以在static环境中使用,包括static方法和static语句块。B) super()和this()不一定要放在构造方法内第一行。C) this()和super()可以同时出现在一个构造函数中。A) super.方法()可以调用父类的所有非私有方法。1. 以下属于面向对象的特征的是(C,D)。17. 接口和抽象类描述正确的有(B,C)(两项)

2023-11-21 10:36:56 448

原创 Java的集合

List是列表,Set是集合 ,List和Set都继承于Collection,Set集合是可以去重.ArrayList线性列表有序的,add的顺序就是print的顺序,对列表中的重复数据不去重。LinkList链式列表有序的,add的顺序就是print的顺序,对列表中的重复数据不去重。HashSet去重底层调用HashMap,HashMap继承Map接口,Map是值对。引入一个结点类型Node,有三部分,前指针prev,后指针next,内容item。互联网处理的信息都是值对信息,获取相关的信息。

2023-11-20 15:57:19 212

原创 列表(AarrayList)

因为数组是定长,这里删除应该新的数组,这里只把元素做移动,官方做移动的原理还是数组的拷贝,移动前后的数组本来是两个数组,如果名称一致是一个数组,前面数组参数index+1,删除索引的后面元素, 后面元素相当于往前提一个位置,后面数组参数index,也就是前面数组元素的index+1覆盖后面数组元素index。打印列表的变量名称时,输出列表中所有的元素。本来扩容了10个元素的数组,只有一部分有值(null),官方源码中有一个rangCheck(),方法不允许访问数组中的空元素.后面多余的元素还是null。

2023-11-17 14:46:43 235

原创 Java中关于String类

StringBuilder里面的replace特点,可以指定开始位置和结尾位置进行替换,String里面的replace特点,从字符串开始到字符串结尾遍历查找,查找到调用StringBuilder来替换。如果使用到字符的替换,使用StringBuilder中的替换代替String中的替换,方法很有效率。String:根据字节数组中每一个元素的哈希值来判断相等,+31*前一元素的哈希值。add一个元素,java默认产生一个数组,数组的长度是10.length()长度,调用数组的属性 length。

2023-11-16 14:47:51 123

原创 字符串的使用

这表示两个地址是否相等, 一般发生new的一定是不相等的.使用equals就会相等,equals底层把字符串拆成字符,一个一个比较出来的相等.Java的String是一个final类,不能被继承,同时定义的每一个字符串Java在后台会变成char型数组保存,这个char型数组是final的,final定义的值不能在程序的执行过程中改变的.new String(“a”)相当于产生一个对象a,a底层就是char[],final,不能改变值,最后连接的ab一定不是地址,最后产生的ab一定也是一对象.

2023-11-15 15:30:17 303

原创 面向接口开发的流程

3.对于算法类或者工具类,没有必要实例化,把类加上static相当静态类,静态类不需要实例化,直接使用类名.方法来访问。父类是否抽象,并不能改变整个实例化的过程,如果父类是抽象类,子类在实例化的过程, 一样执行父类的实例化.有抽象方法就是抽象类,类也由abstract来修饰,如果类是抽象类不能被实例化,类中方法不能被调用。实例方法中可以存在静态变量,在操作上允许,但是开发中不允许,方法中静态,就把实例方法变在静态方法.找到静态块后,先执行父类的非静态块和构造函数.再执行B类的非静态块的代码和构造函数.

2023-11-14 19:27:11 55

原创 Java程序:剪刀石头布(进阶版)

System.out.println("电脑"+arrs[Math.abs(sub_player)]);// 0 1  考虑数组的角标,0值永远都是平局,0数组中的第一个元素,1就是数组中的赢。--------继承---à电脑类。//-1 arrs[-1] 0 -1 -2 应用到电脑中没有问题。String[] arrs= {"平局","赢","输"};//电脑应用Math.abs绝对值函数,两个玩家 ----à 两个类 玩家类 电脑类。父类:参与者类 --------继承---à玩家类。

2023-11-13 15:39:07 221

原创 Java考试题程序

System.out.println("20. 在Java中,声明一个不返回任何值的方法的正确方式是什么?System.out.println(" d) 以上都不是");System.out.println("1. 下面哪个方法是Java程序的入口点?System.out.println("正确率大于15题,优秀");System.out.print("请选择:");System.out.println("你的最终成绩型是:");System.out.print("请选择:");

2023-11-13 10:35:35 130

原创 面向对象程序设计4

7. 这里循环状态就可以控制,通过订单的状态,如果订单关闭,就不用再进行while循环了,因为每一个商品都实例化一次,都有一个订单状态,根据用户选择的商品来决定,加了while外面没有no;6.需要用户登录,才能选择商品,记住细节,之前执行过init,就执行过new Pay,之前的内容不允许输入用户名,必须敲回车,或者用户敲任意字符不接收,这里不接收没有登录用户,必有用户名,允许用户看首页,看完首页进入订单页。//当选择对应的商品后,进行商品模块,商品模块中显示商品详情,立即购买,加入购物车两个按钮。

2023-11-10 14:58:17 23

原创 Java面向对象程序设计3

是否需要产生有参,有参只有一个total的构造函数,这里的total是计算出来的,不是用户赋值改变的,不需要做有参构造。double计算时,注意乘法是不准,改成私有化后,不能直接.num,.private,这里需要用get方法取值。第二,封装私有变量后,需要取值的变量用get方法,需要赋值的方法用set,即需要取值也需要赋值就是两个方法都有。实例化所有的商品,不需要init方法,直接实例化,这里实例化调用对应类的构造器,注意实例化的类型。protected修饰,需要了类继承后进行重写。

2023-11-09 16:33:34 31 1

原创 Java面向对象程序设计2

需要找一个属性名最多的类实例化,也就是实例化继承链最底端的类,保证只有一个地址,这个实例在整个程序中有效,需要在main当中进行实例化。出现某个子类在父类中没有的属性,直接把父类的属性去掉,在子类中构建构造函数,构造函数没有返回值,可以自己实现,可以使用编辑工具自动产生。在调用模块中可能出现某个子类在父类中没有的方法 ,父类中定义这个方法,不实现方法中的代码,由子类去重写,重写的关键字是Override。重写:父类定义方法,子类实现这个方法,子类继承了父类的方法,但父类方法满足不了子类的需求,需要重写。

2023-11-08 17:08:20 41 1

原创 Java面向对象的程序设计1

显示所有商品,必须有main函数,main函数中是所有商品的显示,商品是具体的实例,原来商品是抽象的概念,在首页上知道内容,首页上是商品实例对象的显示.首页代码,new商品类的对象,让用户选择浏览哪一个商品.。//当选择对应的商品后,进行商品模块,商品模块中显示商品详情,立即购买,加入购物车两个按钮,调用商品模块中的显示。//数量只允许整形,如果防止用户输入错误,这里 try-----catch,这里的商品数量,如果出错,要继续输入。System.out.println("1------立即购买");

2023-11-07 15:04:24 39

原创 数组,冒泡排序,快速排序

快速排序的基本思想是选择一个基准元素,通过一趟排序将数组分为两部分,使得左边的元素都小于等于基准元素,右边的元素都大于等于基准元素,然后对左右两部分分别进行递归排序,最终得到一个有序的数组。不管哪一个轮次,两两比较,大数沉底 ,轮次就是循环的量,轮次的索引值为0,每个轮次进行比较,比较的取多次数是n-1,减去一个比较完的数。//在每轮中两两比较,有多少个两两比较,如果有大数沉底,不需要后面两两比较。第二轮:第二大的数沉底 比较结束后,有两个最大会,最大的两个数下一轮不参与比较。思想:两两比较,大数沉底。

2023-11-06 17:05:08 22

原创 算式计算算24

运用循环结构,四个随机数字打印在屏幕上,用户输入算式 算式结果24,电脑计算算式结果是否正确,若正确,继续出4这个数字,根据上一步来,每一步都有新的算式,用户可输入q退出游戏

2023-11-02 15:50:56 71 1

原创 九九乘法表循环的优化

满足条件的打印,根据去掉部分的特点,j>i的不打印,后面的都不打印,节省循环,可以直接break退出循环,只要打印列数>行数,后面就不循环了,这种方法循环次数会少一些。将输出的代码改为System.out.print(j+"*"+i+"="+i*j+"\t");我们发现,1*n在第一列,并且不是我们想要的结构,首先要进行行列转化,将1*n的行转化到1*n列,其余同理。或者以这样的方式优化:满足条件的打印,根据去掉部分的特点,j=i的打印结束,后面的循环停止。//每打完9个数字 换行,第一重循环结束打印。

2023-11-01 15:33:44 38 1

原创 优化商品价格猜猜猜java程序

2、用格式化的方法将把Math.random()*1000+1000变成临时的字符串(调用String.format),字符串转化成%f,保留两位小数(%.2f)3、将tmp_price转化成float类型,不同类型之间转换调用类型的大写.parse类型(Float.parseFloat)1、用while ,for , switch 三种方法分别将最初代码进行循环的优化,以及把价格整数优化为价格两位小数。4、循环的思路:确定好循环的条件,确定循环的次数用for,不确定循环的次数用while。

2023-11-01 15:00:36 69 1

原创 java的8种基本数据类型

5、float(单精度浮动数),直接赋值时必须在数字后加上f或F;4、long(长整数),最大数据存储容量是2的64次方减1;3、int(整数),最大数据存储容量是2的32次方减1;2、short(短整数),最大数据存储量是65536;1、byte(位),最大存储数据量是255;boolean,表示true或false。char,表示Unicode字符。7、boolean(布尔类型);6、double(双精度);8、char(字符)。

2023-10-31 15:43:06 31 1

原创 while 和 for 的死循环.

/死循环,while的条件永远为true, 用于游戏。

2023-10-31 15:38:49 27 1

原创 三种循环结构求1-100数字的和,for 、while、do while循环

三种循环结构求1-100数字的和(for 、while、do while)循环将数字依次+1,覆盖掉加过的数字,继续增加直到上限值100,循环结束

2023-10-31 15:35:21 1426 1

原创 Java小游戏: 幸运价格猜猜猜

循环结构的使用 :两组if else条件判断语句 判断猜大或者猜小,直到猜到才跳出循环

2023-10-31 15:11:23 70 1

原创 Java猜拳游戏(bug修复)

基于昨天发布的猜拳游戏进行了bug的修复1.增加的bug变量 ,定义并且显示玩家的出拳名称(player_choice_name)电脑出拳名称 (choice_name)2.player名字变量全是空格不合法,使用trim()方法去掉字符串开头结尾的空格3.定义一个新的字符串 tmp_choice 以显示出拳名称4. 不同类型String转化,用到整形Integer ,调用parseInt方法

2023-10-31 15:06:39 43 1

原创 Java小游戏:剪刀石头布(人机对战)

Java小游戏:剪刀石头布(人机对战) · 58381c3 · zyt/麦当劳投资人 - Gitee.com。System.out.println("玩家:"+com_name+"赢");System.out.println("电脑:"+com_name+"赢");System.out.println("平局");

2023-10-30 17:04:09 78 1

原创 Java简单小测试:心理测试,爱情指数测试.

Java简单小测试:心理测试,爱情指数测试.

2023-10-30 15:23:15 63 1

空空如也

空空如也

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

TA关注的人

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