- 博客(78)
- 收藏
- 关注
原创 Function接口练习:操作数据(JAVA)
Function接口Function<T,R>接口通常用于对参数进行处理,转换(处理逻辑由Lambda表达式实现),然后返回一个新的值常用方法:方法名说明R apply(T t)将此函数应用于给定的参数default Function andThen(Function after)返回一个组合函数,首先将该函数应用于输入,然后将after函数应用于结果练习:String s = “小林,15”;1:将字符串截取得到数字年龄部分2:将上一步的年龄字符
2021-08-27 23:33:44 198
原创 Predicate接口练习:筛选信息(JAVA)
Predicate接口Predicate接口通常用于判断参数是否满足指定的条件常用方法:方法名说明boolean test(T t)对给定的参数进行判断(判断逻辑由Lambda表达式实现),返回一个布尔值default Predicate negate()返回一个逻辑的否定,对应逻辑非default Predicate and(Predicate other)返回一个组合判断,对应短路与default Predicate or(Predicate other
2021-08-27 22:57:43 251
原创 Consumer接口练习:按要求打印信息(JAVA)
Consumer基础知识:Consumer接口也被称为消费型接口,它消费的数据的数据类型由泛型指定常用方法:void accept(T t) 对给定的参数执行此操作default Consumer andThen(Consumer after)返回一个组合的Consumer,依次执行此操作,然后执行after操作练习:字符串数组中有多条信息,请按照格式:“姓名:XX,年龄:XX"的格式将信息打印出来要求:把打印姓名的动作作为第一个Consumer接口的Lambda实例把打印年龄的动作作为
2021-08-26 23:28:41 287
原创 Supplier练习:获取最大值(JAVA)
Supplier接口基础知识:Supplier接口也被称为生产型接口,如果我们指定了接口的泛型是什么类型,那么接口中的get方法就会生产什么类型的数据供我们使用。常用方法:T get() 按照某种实现逻辑(由Lambda表达式实现)返回一个数据练习:获取数组最大值package hanshushijiekou;import java.util.function.Supplier;public class SupplierDemo { public static void main(
2021-08-26 22:55:24 162
原创 启动一个线程的多种方式(JAVA)
启动一个线程,输出“多线程程序启动了”方式一:定义一个类MyRunnable实现Runnable接口,重写run()方法创建MyRunnable类的对象创建Thread类的对象,把MyRunnable的对象作为构造参数传递启动线程MyRunnable:public class MyRunnable implements Runnable { @Override public void run() { System.out.println("多线程程序启动了"); } }
2021-08-24 16:22:41 370
原创 TCP通信程序练习(JAVA)
需求:客户端:数据来自于文本文件,接收服务器反馈服务器:接收到的数据写入文本文件,给出反馈,代码用线程进行封装,为每一个客户端开启一个线程创建客户端对象,创建输入流对象指向文件,每读入一行数据就给服务器输出一行数据,输出结束后使用shutdownOutput()方法告知服务端传输结束创建多线程类,在run()方法中读取客户端发送的数据,为了防止文件重名,使用计数器给文件名编号, 接受结束后使用输出流给客户端发送反馈信息。创建服务端对象,每监听到一个客户端则开启一个新的线程接受数据。 客户端接
2021-08-24 15:47:00 113
原创 UDP通信程序练习(JAVA)
UDP发送数据:数据来自于键盘录入,直到输入的数据是886,发送数据结束UDP接收数据:因为接收端不知道发送端什么时候停止发送,故采用死循环接收发送端:import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.Inet
2021-08-23 17:44:33 260
原创 多线程练习:生产者与消费者(JAVA)
生产者消费者案例中包含的类:奶箱类(Box):定义一个成员变量,表示第x瓶奶,提供存储牛奶和获取牛奶的操作生产者类(Producer):实现Runnable接口,重写run()方法,调用存储牛奶的操作消费者类(Customer):实现Runnable接口,重写run()方法,调用获取牛奶的操作测试类(BoxDemo):里面有main方法,main方法中的代码步骤如下①创建奶箱对象,这是共享数据区域②创建消费者创建生产者对象,把奶箱对象作为构造方法参数传递,因为在这个类中要调用存储牛奶的操作③
2021-08-23 14:57:31 228
原创 线程同步练习:卖票(JAVA)
某电影院目前正在上映国产大片,共有100张票,而它有3个窗口卖票,请设计一个程序模拟该电影院卖票步骤:1.定义一个类SellTicket实现Runnable接口,里面定义一个成员变量:private int tickets = 100;2.在SellTicket类中重写run()方法实现卖票,代码步骤如下 判断票数大于0,就卖票,并告知是哪个窗口卖的 卖了票之后,总票数要减13.买票可能出现的问题:多窗口卖同一张票;出现负数的票;用synchronized()解决4.票没有了,也可能有人来问,所
2021-08-23 12:25:17 485
原创 Properties集合练习:限制游戏次数(JAVA)
实现猜数字小游戏只能试玩3次,如果还想玩,提示:游戏试玩已结束,想再玩1轮请按1 ,按1之后可以再玩一轮。结束之后再玩会提示:游戏试玩已结束,请联系管理员充值步骤:写一个游戏类,里面有一个猜数字的小游戏写一个测试类,测试类中有main()方法,main()方法中写如下代码:从文件中读取数据到Properties集合,用load()方法实现 文件已经存在:game.txt 里面有一个数据值:count=0通过Properties集合获取到玩游戏的次数 判断次数是否到到3次了如果到
2021-08-22 10:21:48 153
原创 字符打印流:复制文件(JAVA)
将该demo.java文件复制到demo文件夹下import java.io.*;public class demo{ public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new FileReader("src//demo.java")); PrintWriter pw = new PrintWriter((new
2021-08-21 19:59:05 95
原创 IO流练习:复制多级文件夹(JAVA)
复制多级文件夹步骤创建数据源File对象,路径是E:\itcast创建目的地File对象,路径是F:\写方法实现文件夹的复制,参数为数据源File对象和目的地File对象判断数据源File是否是文件a. 是文件:直接复制,用字节流b. 不是文件:在目的地下创建该目录遍历获取该目录下的所有文件的File数组,得到每一个File对象回到3继续(递归)import java.io.*;public class demo{ public static void main(
2021-08-19 17:31:40 191
原创 IO流练习:复制单级文件夹
把“/Users/mac/Desktop/123”这个文件夹复制到模块目录下步骤:创建数据源目录File对象,路径是/Users/mac/Desktop/123获取数据源目录File对象的名称创建目的地目录File对象,路径由(模块名+第2步获取的名称)组成判断第3步创建的File是否存在,如果不存在,就创建获取数据源目录下所有文件的File数组遍历File数组,得到每一个File对象,该File对象,其实就是数据源文件获取数据源文件File对象的名称创建目的地文件File对象,路径由
2021-08-19 16:10:11 116
原创 IO流:集合到文件(数据排序版)(JAVA)
键盘录入5个学生信息(姓名,语文成绩,数学成绩,英语成绩)。要求按照成绩总分从高到低写入文本文件格式:姓名,语文:语文成绩,数学:数学成绩,英语:英语成绩,总分:总分成绩举例:小雨,语文:96,数学:95,英语:94,总分:285步骤:定义学生类创建TreeSet对象,用比较器排序键盘输入5位学生数据创建学生对象,把键盘录入的数据对应赋值给学生对象的成员变量把学生对象添加到TreeSet集合创建字符缓冲输出流对象遍历集合,得到每一个学生对象把学生对象的数据拼接成指定格式的字符串调用字
2021-08-19 10:40:13 292
原创 IO流应用:文件到集合+集合到文件+点名器(JAVA)
1、把文本文件中的数据读取到集合中,并遍历集合。要求:文件中每一行数据是一个集合元素步骤:创建字符缓冲输入流对象创建ArrayList集合对象调用字符缓冲输入流对象的方法读数据把读取到的字符串数据存储到集合中释放资源遍历集合import java.io.*;import java.util.ArrayList;public class demo{ public static void main(String[] args) throws IOException {
2021-08-19 01:38:00 666
原创 字节流复制文本文件、复制图片/视频 + 字节缓冲流(JAVA)
注:MAC系统1、字节流复制文本文件把电脑桌面上的“Users/mac/Desktop/123.txt”文件复制到模块目录下“123.txt”步骤:复制文本文件,其实就把文本文件的内容从一个文件中读取出来(数据源),然后写入到另一个文件中(目的地)数据源:Users/mac/Desktop/123.txt — 读数据 — InputStream — FileInputStream目的地:demo/src/123.txt — 写数据 — OutputStream — FileOutputSt
2021-08-18 01:34:11 1032
原创 ArrayList集合存储学生并排序(JAVA)
ArrayList存储学生对象,使用Collections对ArrayList进行排序要求:按照年龄从小到大排序,年龄相同时,按照姓名的字母顺序排序学生类public class Student { private String name; private int age; public Student() { } public Student(String name, int age) { this.name = name; this.age = age; } pub
2021-08-15 19:49:23 663
原创 统计字符串中每个字符出现的次数(JAVA)
键盘录入一个字符串,要求统计字符串中每个字符串出现的次数。举例:键盘录入“aababcabcdabcde” 在控制台输出:“a(5)b(4)c(3)d(2)e(1)”import java.util.ArrayList;import java.util.HashMap;import java.util.Scanner;import java.util.Set;public class Demo1{ public static void main(String[] args){
2021-08-15 17:19:24 1286
原创 集合嵌套练习-ArrayList、HashMap(JAVA)
集合嵌套之ArrayList嵌套HashMap创建一个ArrayList集合,存储三个元素,每一个元素都是HashMap每一个HashMap的键和值都是String,并遍历。import java.util.ArrayList;import java.util.HashMap;import java.util.Set;public class Demo1{ public static void main(Stirng[] args){ ArrayList<HashMap<Str
2021-08-15 16:46:15 165
原创 HashMap集合练习(JAVA)
HashMap集合练习之键是String值是Student创建一个HashMap集合,键是学号(String),值是学生对象(Student)。存储三个键值对元素,并遍历学生类public class Student { private String name; private int age; public Student() { } public Student(String name, int age) { this.name = name; this.age =
2021-08-15 02:02:43 765
原创 Set集合练习:不重复的随机数(JAVA)
编写一个程序,获取10个1-20之间的随机数,要求随机数不能重复,并在控制台输出public class SetDemo { public static void main(String[] args) { //创建Set集合对象 // Set<Integer> set = new HashSet<Integer>(); 无序 Set<Integer> set = new TreeSet<Integer>(); //有序 //创
2021-08-13 20:10:37 523
原创 集合练习:成绩排序(JAVA)
用TreeSet集合存储多个学生信息(姓名,语文成绩,数学成绩),并遍历该集合要求:按照总分从高到低出现学生成绩类public class StudentScore{ public static void main(String[] args){ private String name; private int cscore;//语文成绩; private int mscore;//数学成绩; public class StudentScore(){} public cla
2021-08-13 20:06:36 253
原创 自然排序Comparable和比较器排序Comparator(JAVA)
存储学生对象并遍历,创建TreeSet集合使用无参构造方法要求:按照年龄从小到大排序,年龄相同时,按照姓名的字母顺序排序1、自然排序用TreeSet集合存储自定义对象,无参构造(自然排序)自然排序,就是让元素所属的类实现Comparable接口,重写compareTo(T o)方法重写方法时,一定要注意排序规则必须按照要求的主要条件和次要条件来写public class Student implements Comparable<Student> { private Stri
2021-08-13 19:42:13 398
原创 HashSet集合存储学生对象并遍历(不重复)(JAVA)
创建一个存储学生对象的集合,存储多个学生对象,使用程序实现在控制台遍历该集合要求:学生对象不重复学生类public class Student { private String name; private int age; public Student() { } public Student(String name, int age) { this.name = name; this.age = age; } public String getName() {
2021-08-13 17:07:26 1129
原创 集合(List)遍历三种方式(JAVA)
迭代器普通for增强for创建一个存储学生对象的集合,存储3个学生对象,使用程序实现在控制台遍历该集合public class Student{ private String name; private int age; public Student(){} public Student(String name,int age){ this.name = name; this.age = age; } public String getName(){ return na.
2021-08-13 15:12:06 194
原创 Collection集合存储学生对象并遍历(JAVA)
集合类的特点提供一种存储空间可变的存储模型,存储的数据容量可以随时发生改变#mermaid-svg-uAuRxySspARI6Fel .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-uAuRxySspARI6Fel .label text{fill:#333}#mermaid-svg-uAuRxySspARI
2021-08-12 18:09:01 581 1
原创 自定义异常(JAVA)
格式:public class 异常类名 extends Exception{ 无参构造 有参构造}应用:测试老师输入的分数是否有误ScoreException.javapublic class ScoreException extends Exception { public ScoreException() {} public ScoreException(String message) { super(message);
2021-08-12 02:51:23 179
原创 Calendar类-日历类常用方法(JAVA)
Calendar类概述 Calendar 为特定瞬间与一组日历字段之间的转换提供了一些方法,并为操作日历字段提供了一些方法 Calendar 提供了一个类方法 getInstance用于获取这种类型的一般有用的对象。该方法返回一个Calendar 对象。 其日历字段已使用当前日期和时间初始化: Calendar rightNow = Calendar.getInstance();Calendar类常用方法public int get(int field) // 返回给定日历字段
2021-08-12 01:46:57 534
原创 二月天-日历类应用(JAVA)
获取任意一年的二月有多少天键盘录入任意年份设置日历对象的年月日年:来自键盘录入;月:设置为3月,月份是从0开始,设置为2即可;日:设置为1日3月1日往前推一天,就是2月最后一天获取这一天输出即可public class Demo{ public static void main(String[] args){ Scanner sc = new Scanner(system.in); System.out.println("请输入年份:"); int i = sc.nextInt
2021-08-12 01:29:09 548
原创 日期工具(JAVA)
定义一个日期工具类(DateUtils),包含两个方法:把日期转换为指定格式的字符串;把字符串解析为指定格式的日期,然后定义一个测试类(DateDemo),测试日期工具类的方法定义日期工具类(DateUtils)定义一个方法dateToString,用于把日期转换诶指定格式的字符串返回值类型:String参数:Date date,String format定义一个方法stringToDate,用于字符串解析为指定格式的日期返回值类型:Date参数:String s,String format
2021-08-11 23:24:51 318
原创 字符串中数据排序(JAVA)
有一个字符串:“91 27 46 38 50”,请写程序实现最终输出结果是:“27 38 46 50 91”定义一个字符串;把字符串中的数字数据存储到一个int类型的数组中(得到字符串中每一个数字数据:public String[] split(String regex) )定义一个int数组,把String[]数组中的每一个元素存储到int数组中(public static int parseInt(String s))对int数组进行排序(arrays.sort())把排序后
2021-08-11 22:48:40 307
原创 冒泡排序(JAVA)
冒泡排序:一种排序的方式,对要进行排序的数据中相邻的数据进行两两比较,将较大的数据放在后面,依次对所有的数据进行操作,直至所有数据按要求完成排序public class ArrayDemo { public static void main(String[] args) { //定义一个数组 int[] arr = {60,43,24,56,23,12,2}; System.out.println("排序前:" + arrayToString(a
2021-08-09 22:14:53 57
原创 抽象类、接口练习(JAVA)
我们现在有乒乓球运动员和篮球运动员,乒乓球教练和篮球教练。为了出国交流,跟乒乓球相关的人员都需要学习英语。请用所学知识分析,这个案例中有哪些具体类,哪些抽象类,哪些接口,并用代码实现。//抽象人public abstract class Person{ private String Name; private int age; public Person(){} public Person(String name,int age){ this.name = name; this.
2021-08-09 17:15:17 277
原创 继承练习(JAVA)
老师和学生需求:定义老师类和学生类,然后写代码测试;最后找到老师类和学生类当中的共性内容,抽取出一个父类,用继承的方式改写代码,并进行测试老师(姓名,年龄,教书)学生(姓名,年龄,学习)共性:人(姓名,年龄)class Person{ private string name; private int age; public person(){ } public person(String name,int age){ this.name=name; this.age=age;
2021-08-08 17:04:37 240
原创 统计字符次数(JAVA)
键盘录入一个字符串,统计该字符串中大写字母字符,小写字母字符,数字字符出现的次数(不考虑其他字符)1:键盘录入一个字符串,用 Scanner 实现2:要统计三种类型的字符个数,需定义三个统计变量,初始值都为03:遍历字符串,得到每一个字符4:判断该字符属于哪种类型,然后对应类型的统计变量+1假如ch是一个字符,我要判断它属于大写字母,小写字母,还是数字,直接判断该字符是否在对应的范围即可大写字母:ch>=‘A’ && ch<=‘Z’小写字母: ch>=‘a’
2021-08-07 21:59:57 425
原创 遍历字符串(JAVA)
键盘录入一个字符串,使用程序实现在控制台遍历该字符串1:键盘录入一个字符串,用 Scanner 实现2:遍历字符串,首先要能够获取到字符串中的每一个字符public char charAt(int index):返回指定索引处的char值,字符串的索引也是从0开始的3:遍历字符串,其次要能够获取到字符串的长度public int length(): 返回此字符串的长度数组的长度:数组名.length字符串的长度:字符串对象.length()4:遍历字符串的通用格式public class
2021-08-07 21:46:53 1001
原创 用户登录模块(JAVA)
1:已知用户名和密码,定义两个字符串表示即可2:键盘录入要登录的用户名和密码,用 Scanner 实现3:拿键盘录入的用户名、密码和已知的用户名、密码进行比较,给出相应的提示。字符串的内容比较,用 equals() 方法实现4:用循环实现多次机会,这里的次数明确,采用for循环实现,并在登录成功的时候,使用break结束循环public class demo{ public static void main(Stirng[] args){ string username = "123456";
2021-08-07 21:37:10 1849 1
原创 设计比较两个整数是否相同的方法,兼容全整数类型(byte,short,int,long)【方法重载】(JAVA)
思路:①定义比较两个数字的是否相同的方法compare()方法,参数选择两个int型参数②定义对应的重载方法,变更对应的参数类型③完成方法的调用,测试运行结果 public class demo{ public static void main(String[] args){ System.out.println(compare(10,20)); System.out.println(compare((byte)10,(byte)20); System.out.println(
2021-08-07 17:11:34 1263
原创 设计一个方法用于打印两个数中的较大数【无参数、带参数、带返回值调用】(JAVA)
无参数调用①定义一个方法,用于打印两个数字中的较大数②方法中定义两个变量,用于保存两个数字③使用分支语句分两种情况对两个数字的大小关系进行处理④在main()方法中调用定义好的方法public class demo1{ public static void main(String[] args){ getMax(); } public static void getMax(){ int a = 10, b = 20; if(a>b){ System.out.print
2021-08-07 16:29:38 884 1
原创 数组遍历、数组最值(JAVA)
数组遍历public class demo1{ public static void main(String[] args){ int[] arr = {0,1,2,3,4,5} for(int i=0;i<arr.length;i++){ System.out.println(arr[i]); }数组最值从数组的所有元素中找出最大值思路:定义变量,保存数组0索引上的元素遍历数组,获取出数组中的每个元素将遍历到的元素和保存数组0索引上值的变量进行比较如果数组元素
2021-08-07 14:21:01 168
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人