自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 UDP协议实现群聊

centerTextArea.append(p.getAddress().getHostAddress()+":"+((InetSocketAddress)p.getSocketAddress()).getPort()+"对我说:\n"+new String(p.getData(),0,p.getLength())+"\n\n");JOptionPane.showMessageDialog(liaotian.this,"监听未成功");stateLB.setText("已在"+port+"端口监听");

2023-12-17 03:58:23 76

原创 TCP协议实现一对一聊天

System.out.println("A说:"+mr);System.out.println("服务端已启动等待连接");System.out.println("B说:"+mr);System.out.println("连接成功!System.out.println("连接成功!运行服务端代码后,再运行客户端代码,即可实现一对一聊天。* 用于接收对方消息。* 用于接收对方消息。* 用于发送消息线程类。*用于接收消息线程类。

2023-12-17 03:56:54 74

原创 王者荣耀游戏

/ 存放将要删除的元素。System.out.println("技能一冷却时间: " + coolDownTimeOne / 1000);System.out.println("三技能冷却时间: " + three / 1000);System.out.println("三技能冷却时间: " + three / 1000);System.out.println("一技能冷却时间: " + one / 1000);System.out.println("二技能冷却时间: " + two / 1000);

2023-12-17 03:52:40 106

原创 飞翔的鸟。

if (state == START) { // 如果是开始状态 单击转换运行。

2023-12-17 03:47:45 67

原创 拼图游戏。

JLabel winJLabel = new JLabel(new ImageIcon("C:\\Users\\徐梦\\Desktop\\images\\s.png"));JLabel all = new JLabel(new ImageIcon("C:\\Users\\徐梦\\Desktop\\images\\all.png"));//拿到遍历数组的数据,和随机交换。//表示空白方块已经在最下方了,不能在移动了。//表示空白方块已经在最下方了,不能在移动了。//表示空白方块已经在最下方了,不能在移动了。

2023-12-17 03:45:15 34

原创 二十一章总结

java.net 包中的 ServerSocket 类用于表示服务器套接字,其主要功能是等待来自网络上的“请求”它可通过指定的端口来等待连接的套接字。如果多台客户机同时提出连接请求,服务器套接字会将请求连接的客户机存入列队中,然后从中取出一个套接字,与服务器新建的套接字连接起来。TCP协议是一种以固接连线为基础的协议,它提供两台计算机间可靠的数据传送。通常,0~1023的端口数用于一些知名的网络服务和应用,用户的普通网络应用程序应该使用1024以上的端口数,以避免端口号与另一个应用或系统服务所用端口冲突。

2023-12-17 03:33:41 47

原创 二十章总结

如果线程是因为使用了sleep()或wait()方法进入了就绪状态,可以使用Thread类中interrupt()方法使线程离开run()方法,同时结束线程,但程序会抛出InterruptedException异常,用户可以在处理该异常时完成线程的中断业务处理,如终止while循环。Thread类中提供了一种礼让方法,使用yield()方法表示,它只是给当前正处于运行状态的线程一个提醒,告知它可以将资源礼让给其他线程,但这仅是一种暗示,没有任何一种机制保证当前线程会将资源礼让。

2023-12-17 02:49:06 91

原创 俄罗斯方块

null) { //判断该位置是否有方块。String[] show_state= {"P[暂停]","C[继续]","R[重开]"};//重新开始游戏,把游戏状态变为正在游戏。//判断是否越界或者重合,如果是则右移恢复原来的状态,不是则左移。//判断是否越界或者重合,如果是则左移恢复原来的状态,不是则右移。//判断,当前游戏状态在游戏中时,每隔0.5秒下落。//判断方块是否出界,出界返回true,没有则返回false。//判断游戏是否结束,结束返回true,继续返回false。

2023-11-19 20:07:57 36

原创 十九章总结

要绘制指定形状的图形,需要先创建并初始化改图形类的对象,且这些图形类必须是Shape接口的实现类;然后使用Graphics2D类的draw()方法绘制改图形对象,或者使用fill()方法填充改图形对象。默认情况下,Graphics类使用的画笔属性是粗细为1个像素的正方形,而Graphics2D类可以调用setStroke()方法设置画笔的属性。Graphics2D类提供了drawString()方法,使用该方法可以实现图形上下文的文本绘制,从而实现在图片上显示文字的功能。2.Graphics2D类。

2023-11-19 20:05:57 54

原创 Java实现贪吃蛇游戏

再在src文件下创建两个包,一个命名为com.snake.view用来存放所有的图形界面类;一个命名为com.snake.controller用来存放启动的入口类(控制类)。然后,创建贪吃蛇游戏的Java项目命名为snake_game,并在这个项目里创建一个文件夹命名为images,将图片素材导入文件夹。最后,分别在两个包下创建两个类命名为SnakeStart和SnakeJPanel。首先获取贪吃蛇小游戏所需要的头部、身体、食物以及贪吃蛇标题等图片。

2023-11-15 21:20:36 40

原创 十八章总结

public JDialog(Frame f,boolean model):创建一个没有标题,但指定父窗体和模式的对话框。在创建窗体后,先调用getContentPane()方法将窗体转换为容器,再调用add()方法或者remove()方法向容器中添加组件或者删除容器中的组件。public JDialog(Frame f,String title,boolean model):创建一个指定标题、父窗体和模式的对话框。public JDialog(Frame f):创建一个没有标题,但指定父窗体的对话框。

2023-11-09 19:37:43 27

原创 十六章总结

在定义Annotation类型时,也需要用到用来定义接口的interface关键字,但需要在interface关键字前加一个“@”符号,即定义Annotation类型的关键字为@Annotation,这个关键字的隐含意思是继承了java.lang.annotation.Annotation接口。通过这个结果可以看出,在反射权限为private和protect的成员变量时,需要执行setAccessible()方法,并将人口参数设为true,否则不允许访问。当反射有参数的构造方法时将输方法赋予的相应值。

2023-11-02 18:49:11 18

原创 十五章总结

FileReader类顺序地读取文件,只要不关闭流,每次调用read()方法就顺序地读取源中其余内容,直到源的末尾或流被关闭。mark(int readlimit)方法:在输入流的当前位置放置一个标记,readlimit参数告知此输入流在标记位置失效之前允许读取的字节数。返回0~255的int字节值。DataOutputStream(OutputStream out):创建一个新的数据输出流,将数据写入文件的方法。read(byte[] b):从输入流中读入一定长度的字节,并以整数的形式返回字节数。

2023-10-24 22:17:11 26

原创 第十七章总结

WHERE 条件表达式 GROUP BY 字段名 HAVING 条件表达式(指定分组的条件)UPDATE 数据表名 SET 字段名=新的字段值 WHERE 条件表达式。insert into 表名[(字段名1,字段名2...)]delete from 数据表名 where 条件表达式。update语句用于更新数据表中的某些记录。select语句用于从数据表中检索数据。insert语句用于向表中插入新数据。2.insert语句。3.update语句。4.delete语句。1.select语句。

2023-10-15 23:08:55 20

原创 十四章总结

该方法可以将lambda表达式作为参数,然后按照lambda表达式的逻辑过滤流中的元素。这个语法中出现了一个新的操作符“::”,这是由两个英文冒号组成的操作符,冒号之间没有空格。2.lambda表达式只是描述了抽象方法是如何实现的,在抽象方法没有被调用前,lambda表达式中的代码并没有被执行,所以运行抽象方法之前类成员变量的值不会发生变化。3.只要抽象方法被调用,就会执行lambda表达式中的代码,类成员变量的值就会被修改。指的是仅包含一个抽象方法的接口,接口中的方法简单明了地说明了接口的用途。

2023-10-15 23:02:09 24

原创 学生管理系统 数据库版

b.c.

2023-10-07 17:41:53 23

原创 学生选课系统基础版

使用set中的contains方法,set中调用contains(obj)方法,contains方法的实现机制:先调用object中的hashcode方法,再调用object中的equals方法。// 定义数组存放要删除的值。List中的contains()方法借Map中的containsValue()方法调用equals()方法来进行比较。

2023-09-26 20:54:38 46

原创 十三章总结

在泛型机制中,提供了类型通配符,其主要作用是在创建一个泛型类对象时限制这个泛型类的类型实现或继承某个接口或类的子类。JDK中的集合接口、集合类都被定义了泛型,其中List<E>的泛型E实际上就是element元素的首字母,Map<K,V>的泛型K和V就是key键和value值的首字母。默认可以使用任何类型来实例化一个泛型类对象,但Java中也对泛型类实例的类型作了限制。(1)泛型的类型参数只能是类类型,不可以是简单类型,如A<int>这种泛型定义就是错误的。其中,T是泛型的名称,代表某一种类型。

2023-09-18 18:43:02 28

原创 Java实现简易炸金花

首先新建洗牌后的牌库集合对象与揭牌人的集合对象,然后通过add()方法将揭牌得到的扑克牌添加到对应的揭牌人集合对象中。然后重写方法,使结果返回对应的花色与数字。首先新建对象,并进行买牌操作,输出所有的52张扑克牌,再进行洗牌并输出结果,然后进行揭牌操作,最后通过for循环输出揭牌的结果,并输出除揭牌已获取的扑克牌外剩余的扑克牌。首先给予扑克牌4种不同的花色,再为所有扑克牌创建新的扑克牌集合对象,通过两次for循环获取除大小王外的其他52张牌,并将其添加到该集合中,最后返回所有52张扑克牌。

2023-09-16 20:04:06 49

原创 【无标题】

(2)TreeSet类不仅实现了Set接口,还实现了java.util.SortedSet接口,因此TreeSet类实现的Set集合在遍历集合时按照自然顺序递增排序,也可以按照指定比较器递增排序,即可以通过比较器对用TreeSet类实现的Set集合中的对象进行排序。常用的集合有List集合、Set集合和Map集合,其中List集合与Set集合继承了Collection接口,各接口还提供了不同的实现类。数组的长度是固定的,集合的长度是可变的:数组用来存放基本类型的数据,集合用来存放对象的引用。

2023-09-13 21:17:56 24

原创 Java入门第三季

代码中的 “yyyy-MM-dd HH:mm:ss” 为预定义字符串, yyyy 表示四位年, MM 表示两位月份, dd 表示两位日期, HH 表示小时(使用24小时制), mm 表示分钟, ss 表示秒,这样就指定了转换的目标格式,最后调用 format() 方法将时间转换为指定的格式的字符串。Math 类位于 java.lang 包中,包含用于执行基本数学运算的方法, Math 类的所有方法都是静态方法,所以使用该类中的方法时,可以直接使用类名.方法名,如: Math.round();

2023-09-10 15:17:17 23

原创 Java入门第二季

再用String调用format()方法,将有占位符的字符串变量和String类实例的对象传递到format方法中。方法(Method)是用于完成特定功能的整段代码。通过对一段可以实现特定功能的代码进行简单的包装,形成方法,让程序可以反复去调用同一个方法,来反复实现这个功能。解释:因为w24h()方法返回的就是一个List类型的数据集合,所以,返回的数据集合可以实例化List 的对象。多态:同一个行为具有多个不同的表现形式或形态的能力,根据输入的内容不同,去产生不同的接口实现。

2023-09-10 15:03:50 18

原创 Java入门第一季

该段代码的含义是:如果 score 值大于90,则奖励一个 Iphone 5s ,当 score 值小于等于 90 时,先判断 score 是否大于 70 ,如果 score 是介于 70--90 之间,则奖励一个红米,如果成绩小于等于 70 ,则罚做 500 个俯卧撑。在上面的代码中创建一个长度为 2 的数组,因此数组下标范围是 0 到 1 ,而程序中下标出现了 2 ,即 scores[2] ,超过了范围,造成数组访问越界。三种循环语句可以自身嵌套,也可以相互嵌套,最常见的就是二重循环。

2023-09-10 14:58:35 26

原创 第十一章总结

一个Boolean类型的对象只包含一个类型为boolean的字段。对于数值型的包装类,它们有一个共同的父类——Number类,该类是一个抽象类,它是Byte、Integer、Short、Long、Float和Double类的父类,其子类必须提供将表示的数值转换为byte、int、short、long、float和double的方法。BigDecimal类类型的数字可以用来做超大的浮点型的运算,如加、减、乘、除等,但是在所有的运算中除法是最复杂的,因为在除不尽的情况下商小数点后的末位的处理是需要考虑的。

2023-05-26 14:07:47 35

原创 第十章总结

创建成功的字符串对象,其长度是固定的,内容不能被改变和编译。compareTo()方法为按字典顺序比较两个字符串,该比较基于字符串中各个字符的Unicode值,按字典顺序将String对象表示的字符序列与参数字符串所表示的字符序列进行比较。indexOf()方法返回的是搜索的字符或字符串首次出现的位置,lastIndexOf()方法返回的是搜索的字符或字符串最后一次出现的位置。该方法使用指定的原语言环境、格式字符串和参数返回一个格式化字符串,格式化字符串,格式化后的新字符串使用其指定的语言环境。

2023-05-12 12:06:28 23

原创 第九章总结

通过throw抛出异常后,如果想在上一级代码中捕获并处理异常,则需要在抛出异常的方法中使用throws关键字在方法的声明中指明要抛出的异常;(3)如果在当前抛出异常的方法中处理异常,可以使用try-catch语句块捕获并处理,否则在方法的声明处通过throws关键字指明要抛出给方法调用者的异常,继续进行下一步操作。在Java中,如果某个方法抛出异常,既可以在当前方法中进行捕捉,而后处理该异常,也可以将异常向上抛出,交由方法调用者来处理。(2)一个方法被覆盖时,覆盖它的方法必须抛出相同的异常或异常的子类。

2023-05-12 11:53:53 21

原创 Java复习2

所谓类的封装是指在定义一个类时,将类中的属性私有化,即使用private关键字来修饰,私有属性只能在它所在类中被访问,如果外界想要访问私有属性,需要提供一些使用public修饰的公有方法,其中包括用于获取属性值的getxx方法和设置属性值的setxx方法。在Java中,定义在类中的变量被称为成员变量,定义在方法中的变量被称为局部变量。3.在Java中,多层继承是可以的,即一个类的父类可以再去继承另外的父类,例如C类继承自B类,而B类又可以去继承A类,这时,C类也可称作A类的子类。

2023-04-26 08:24:31 39

原创 第八章总结

Java中每个接口或类都来自不同的类包,无论是Java API中的类与接口还是自定义的类与接口,都需要隶属于某一个类包,这个类包包含了一些类和接口。在使用import关键字时,可以指定类的完整描述,如果为了使用包中更多的类,可以在使用import关键字指定时在包指定后加上*,这表示可以在程序中使用该包中所有类。一个完整的类名需要包名与类名的组合,每个类都隶属于一个类包,只要保证同一类包中的类不同名,就可以有效地避免同名类冲突的情况。如果在类中再定义一个类,则将在类中再定义的那个类称为内部类。

2023-04-24 08:05:58 23

原创 Java作业7

1.2.3.4.5.6.7.8.9.10.11.

2023-04-07 13:57:52 25

原创 第七章总结

Equals 与 hashCode 的定义必须一致:如果 x.equals(y) 返回 true, 那么 x.hashCode( ) 就必 须与 y.hashCode( ) 具有相同的值。传递性:对于任何引用 x、y 和 z, 如果 x.equals(y) 返回 true, y.equals(z)返回 true, x.equals(z) 也应该返回 true。//这种肯定是不允许的。

2023-04-05 08:09:58 27

原创 Java作业6

2023-04-02 08:36:52 25

原创 第六章总结

类是对象的模子,具有相同属性和方法的一组对象的集合,类是不存在的,是用来描述对象信息。在类中定义的变量是成员变量,成员变量又称为静态变量和实例变量,静态变量是用static修饰的变量,实例变量也成为是对象变量,类变量,通过对象的引用来访问实例变量。可谓是万物皆对象,对象是客观存在的事物,可以说任何客观存在的都是可以成为对象,一台电脑,一直钢笔,一个人,一辆轿车等等,都是可以成为对象。1.当一个实例变量被static关键字修饰后,它就表示类的属性,该类的所有对象共享此属性,且对象的属性值相同。

2023-04-02 08:12:26 20

原创 第一篇Java基础知识复习

虽然Java没有严格要求用什么样的格式来编排程序代码,但是,出于可读性的考虑,应该让自己编写的程序代码整齐美观、层次清晰。声明常量:在变量前加final (final 数据类型 变量=值)在Java中整数类型默认为int型,浮点型默认为double型。main 是方法名属于标识符。任务2-1(商城库存清单)3.Java中的运算符。任务2-2(猜数字)任务2-3(随机点名)2.Java中的变量。

2023-03-28 08:14:39 28

原创 Java数组

数组元素的类型 数组名 =new 数组元素的类型[数组元素的个数];数组元素的类型 数组名 =new 数组元素的类型[数组元素的个数];fromIndex:要使用指定值填充的第一个元素的索引。toIndex:要使用指定值填充的最有一个元素的索引。value:要分配给数组指定范围中的每个元素的值。(1)基本思想:将指定排序位置元素与其他数组元素分别比对,满足条件就交换元素值。a:要进行元素替换的数组。数组元素类型 [ ][ ] 数组名字;数组元素类型 数组名字[ ][ ];数组元素类型 [ ] 数组名字;

2023-03-19 00:05:33 18

原创 Java作业6

1.2.3,

2023-03-18 23:31:27 24

原创 Java作业5

1.2.

2023-03-15 16:23:51 19

原创 Java流程控制

1 do{2}while(条件)3, 1->2->条件为真->2条件为真->....->2条件为假->3。}while(条件2) ->3->条件1为假->4->条件2为假->5。1,1->条件为真->2->....条件为真->2->条件为假->3。do{ 3->条件2为真->...->3->条件2为真->} 3->条件2为真->....->3->条件2为真->2 ->3->条件1为假->4->条件2为真->} ->3->条件1为假->4->条件2为真->if结构:满足条件时执行语句,不满足则不执行。

2023-03-11 23:44:04 19

原创 Java作业4

1:2:3:

2023-03-07 09:36:58 26

原创 数据类型转换

/而byte类型只有一个字节,转换后只会保留最后一个字节01011000。例:int a=600;例2:int s=200;//二进制为 3个字节+11001000。// (已补码的形式) 10111000。(1)强制转换:(向上兼容,可能会丢失数据)因字节长度不同导致数据不兼容。(2)自动转换:(向下兼容吗,不会丢失数据)默认自动转换。例:double a=3;//默认为a=3 .0。(短字节默认向长字节兼容)分为强制转换和自动转换。

2023-03-05 02:02:15 47

原创 Java作业3

1.2.3.4.

2023-03-03 02:10:29 50

空空如也

空空如也

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

TA关注的人

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