diff --git "a/work/com/java/minxi/java_20240515/java_2302_\345\217\266\346\236\227_2344310217/MapMain.java" "b/work/com/java/minxi/java_20240515/java_2302_\345\217\266\346\236\227_2344310217/MapMain.java" new file mode 100644 index 0000000000000000000000000000000000000000..1e9a40e9260d2af3ea1516a863781ea4985fe902 --- /dev/null +++ "b/work/com/java/minxi/java_20240515/java_2302_\345\217\266\346\236\227_2344310217/MapMain.java" @@ -0,0 +1,76 @@ +package com.java.minxi.java_20240515.java_2302_叶林_2344310217; + +import java.util.HashMap; +import java.util.Map; + +public class MapMain { + // 1. **创建和添加键值对** +// 创建一个 `HashMap` 并添加至少3对键值对,键可以是字符串,值可以是整数。 + public static void main(String[] args) { + Map map = new HashMap(); + map.put("001", "华山"); + map.put("002", "衡山"); + map.put("003", "黄山"); + map.put("004", "武夷山"); + System.out.println(map); + System.out.println("------------"); +// 用键来获取对应的值,并打印出来。 + String v1 = map.get("001"); + String v2 = map.get("002"); + String v3 = map.get("003"); + String v4 = map.get("004"); + System.out.println(map); +// 检查一个特定的键是否存在于 `HashMap` 中。 + if (map.containsKey("001")) { + System.out.println("找到对应key值"); + } else { + System.out.println("key值不存在"); + } +// 遍历 `HashMap` 的键集合,并打印每个键。 + for (String key : map.keySet()) { + System.out.println(key); + } + +// 遍历 `HashMap` 的值集合,并打印每个值。 + for (String values : map.values()) { + System.out.println(values); + } +// 使用 `entrySet()` 遍历 `HashMap` 的所有键值对,并打印。 + for (Map.Entry entry : map.entrySet()) { + System.out.println(entry.getKey() + " " + entry.getValue()); + } +// 对一个已存在的键更新其对应的值。 + String value = map.put("001", "峨眉山"); + System.out.println("修改后的HashMap:" + map); + System.out.println("------------------"); +// 移除一个特定的键值对,并确认它已被移除。 + if (map.containsKey("004")) { + map.remove("004"); + } + System.out.println(map); +// 打印出 `HashMap` 的大小。 + int size=map.size(); + System.out.println(size); + +// 创建一个泛型 `HashMap`,键为自定义对象,值为字符串,并添加键值对。 + class MyEntry{ + private k key; + private v value; + + public k getKey(){ + return key; + } + public void setKey(k key){ + this.key=key; + } + public v getValue(){ + return value; + } + public void setValue(v value){ + this.value=value; + } + } + System.out.println(map); + + } +} diff --git "a/work/com/java/minxi/java_20240515/java_2302_\345\217\266\346\236\227_2344310217/setMain.java" "b/work/com/java/minxi/java_20240515/java_2302_\345\217\266\346\236\227_2344310217/setMain.java" new file mode 100644 index 0000000000000000000000000000000000000000..a07fbd164a6f52bb4b6de1456c9c6a7968c12b25 --- /dev/null +++ "b/work/com/java/minxi/java_20240515/java_2302_\345\217\266\346\236\227_2344310217/setMain.java" @@ -0,0 +1,63 @@ +package com.java.minxi.java_20240515.java_2302_叶林_2344310217; + +import java.util.Arrays; +import java.util.HashSet; + +public class setMain { + public static void main(String[] args) { + HashSet result=new HashSet(); +// 1. **创建和添加元素** +// 创建一个 `HashSet` 并添加至少5个不同的字符串元素。 + + HashSet hashSet=new HashSet(); + hashSet.add("a"); + hashSet.add("b"); + hashSet.add("c"); + hashSet.add("d"); + hashSet.add("e"); + + System.out.println("HashSet:"+hashSet); +//检查一个特定的字符串是否已经存在于你创建的 `HashSet` 中。 + System.out.println(hashSet.contains("d")); +// 从 `HashSet` 中移除一个已存在的元素,并确认它已被移除。 + hashSet.remove("b"); + System.out.println(hashSet); +//打印出 `HashSet` 的大小。 + System.out.println(hashSet.size()); +// 使用增强型 `for` 循环遍历 `HashSet` 并打印每个元素。 + for (String string :hashSet ){ + System.out.println(hashSet); + } + System.out.println("--------------------------------"); +//将 `HashSet` 转换为数组,并打印数组中的每个元素。 + String[] array =hashSet.toArray(new String[0]); + System.out.println(Arrays.toString(array)); + +// 创建两个 `HashSet` 对象,实现它们的并集操作。 + + HashSet hashSet1=new HashSet(); + hashSet.add("a"); + hashSet.add("b"); + hashSet.add("c"); + hashSet.add("4"); + hashSet.add("5"); + result.clear(); + result.addAll(hashSet); + result.addAll(hashSet1); + System.out.println("并集:"+result); + +// 对上面创建的两个 `HashSet` 对象实现交集操作。 + result.clear(); + result.addAll(hashSet); + result.retainAll(hashSet1); + System.out.println("交集:"+result); +//1. **集合的差集** +// 对上面创建的两个 `HashSet` 对象实现差集操作。 + result.clear(); + result.addAll(hashSet); + result.retainAll(hashSet1); + System.out.println("差集:"+result); + + } + +} diff --git "a/work/com/java/minxi/java_20240516/java_2302_\345\217\266\346\236\227_2344310217/BigDecimalTest.java" "b/work/com/java/minxi/java_20240516/java_2302_\345\217\266\346\236\227_2344310217/BigDecimalTest.java" new file mode 100644 index 0000000000000000000000000000000000000000..5ae21eb35738b88c44e787ccbbca6655e5cf148f --- /dev/null +++ "b/work/com/java/minxi/java_20240516/java_2302_\345\217\266\346\236\227_2344310217/BigDecimalTest.java" @@ -0,0 +1,39 @@ +package com.java.minxi.java_20240516.java_2302_叶林_2344310217; + +import java.math.BigDecimal; +import java.math.RoundingMode; + +public class BigDecimalTest { + public static void main(String[] args) { +// 编写一个程序,使用字符串构造函数创建一个 `BigDecimal` 对象。 + BigDecimal bg1 = new BigDecimal("1.1"); + System.out.println(bg1.toString()); +// 实现一个方法,接受两个 `BigDecimal` 对象作为参数,执行加、减、乘、除运算。 + BigDecimal a = new BigDecimal(3); + BigDecimal b = new BigDecimal(2); + a = a.add(b); + System.out.println(a); + a = a.subtract(b); + System.out.println(a); + a = a.multiply(b); + System.out.println(a); + a = a.divide(b); + System.out.println(a); +// 舍入操作 +// - 编写一个程序,对一个 `BigDecimal` 对象执行舍入操作,指定舍入模式和精度。 + BigDecimal number=new BigDecimal("3.1415926"); + BigDecimal result=number.setScale(2, RoundingMode.DOWN); + System.out.println(result); +//比较 BigDecimal 对象值 +// - 创建一个方法,比较两个 `BigDecimal` 对象的值是否相等。 + BigDecimal b1=new BigDecimal("12"); + BigDecimal b2=new BigDecimal("45"); + System.out.println(b1.equals(b2)); + +// - 创建一个方法,比较两个 `BigDecimal` 对象的值大小。 + BigDecimal k=new BigDecimal("2"); + BigDecimal m=new BigDecimal("6"); + boolean bool=a.compareTo(b)==0; + System.out.println("比较结果为:a等于b:"+bool); + } +} diff --git "a/work/com/java/minxi/java_20240516/java_2302_\345\217\266\346\236\227_2344310217/DateTest.java" "b/work/com/java/minxi/java_20240516/java_2302_\345\217\266\346\236\227_2344310217/DateTest.java" new file mode 100644 index 0000000000000000000000000000000000000000..8b4cfe43284ae8cad47d1bd53f31d1a89004abe2 --- /dev/null +++ "b/work/com/java/minxi/java_20240516/java_2302_\345\217\266\346\236\227_2344310217/DateTest.java" @@ -0,0 +1,43 @@ +package com.java.minxi.java_20240516.java_2302_叶林_2344310217; + +import java.text.DateFormat; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.util.Date; +import java.util.logging.SimpleFormatter; + +public class DateTest { + public static void main(String[] args) { +// 创建 Date 对象 +// - 编写一个程序,创建一个 `Date` 对象,表示当前时间。 + Date date =new Date(); + System.out.println(date.toString()); +// 获取 Date 对象的年份、月份、天数等 +// - 创建一个方法,接受一个 `Date` 对象作为参数,返回该日期的年份、月份和天数。 + LocalDate current=LocalDate.now(); + System.out.println(current+"的年份:"+current.getYear()); + System.out.println(current+"的月份:"+current.getMonth()); + System.out.println(current+"的天数:"+current.getDayOfMonth()); + System.out.println(); +// 格式化 Date 对象 +// - 使用 `SimpleDateFormat` 类将 `Date` 对象格式化为指定的日期格式字符串,如 "yyyy-MM-dd HH:mm:ss"。 + Date dNow=new Date(); + SimpleDateFormat ft=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); + System.out.println("当前时间为:"+ft.format(dNow)); +// Date 转字符串再转回 Date +// - 实现一个程序,将 `Date` 对象转换为字符串,然后将该字符串重新解析 + Date current1=new Date(); + SimpleDateFormat formatter=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + String dateString =formatter.format(current1); +// System类使用 +// - 使用System类获得当前时间戳,将时间戳转换成`Date` 对象,要求按照该格式 "yyyy-MM-dd HH:mm:ss" 打印出当前时间。 + DateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Date date3=null; + try{ + date=df.parse(dateString); + }catch (ParseException e){ + e.printStackTrace(); + } + } +} diff --git "a/work/com/java/minxi/java_20240516/java_2302_\345\217\266\346\236\227_2344310217/Main.java" "b/work/com/java/minxi/java_20240516/java_2302_\345\217\266\346\236\227_2344310217/Main.java" new file mode 100644 index 0000000000000000000000000000000000000000..6a03c409900da2196df6c129cbc63d35b1f47fc4 --- /dev/null +++ "b/work/com/java/minxi/java_20240516/java_2302_\345\217\266\346\236\227_2344310217/Main.java" @@ -0,0 +1,66 @@ +package com.java.minxi.java_20240516.java_2302_叶林_2344310217; + +import java.util.Arrays; +import java.util.Scanner; +import java.util.stream.IntStream; + +public class Main { + + + // 1. 绝对值 +// - 编写一个程序,接受一个用户输入的数字,然后输出该数字的绝对值。 + public static void main(String[] args) { + Scanner s=new Scanner(System.in); + System.out.println("请输入一个数字"); + double num=s.nextDouble(); + double result= Math.abs(num); + System.out.println(result); +// 最小值和最大值 +// +//- 创建一个方法,接受三个整数作为参数,返回这三个整数中的最小值和最大值。 + int num1=7; + int num2=45; + int num3=18; + + int max=Math.max(Math.max(num1,num2),num3); + int min=Math.min(Math.min(num1,num2),num3); + System.out.println(max); + System.out.println(min); + +// 1. 四舍五入 +// - 编写一个程序,接受一个浮点数作为输入,并将其四舍五入到最近的整数。 +//2. + float num5=24.3f; + float num6=16.7f; + System.out.println(Math.round(num5)); + System.out.println(Math.round(num6)); + +//随机数生成 +// +//- 使用 `Math.random()` 方法生成一个 0 到 1 之间的随机数,并将其乘以一个用户指定的最大值。 + System.out.println("请输入一个最大值"); + int maxNum=s.nextInt(); + double randomNum=Math.random()*maxNum; + System.out.println(randomNum); +//计算平均值 +// - 创建一个方法,接受一个整数数组,并返回数组的平均值。 + int[] numbers ={6,12,20,40,50}; + IntStream stream= Arrays.stream(numbers); + double average =stream.average().getAsDouble(); + System.out.println("平均数为:"+average); + + + + + + + + + } + + + + + + +} diff --git "a/work/com/java/minxi/java_20240516/java_2302_\345\217\266\346\236\227_2344310217/Person.java" "b/work/com/java/minxi/java_20240516/java_2302_\345\217\266\346\236\227_2344310217/Person.java" new file mode 100644 index 0000000000000000000000000000000000000000..d35b490df8a24c099a2f6099eb48090d4d7578ea --- /dev/null +++ "b/work/com/java/minxi/java_20240516/java_2302_\345\217\266\346\236\227_2344310217/Person.java" @@ -0,0 +1,39 @@ +package com.java.minxi.java_20240516.java_2302_叶林_2344310217; + +public class Person { + public static void main(String[] args) { + + } + private String name; + private int age; + + public Person(String name, int age) { + this.name = name; + this.age = age; + } + + @Override + public String toString() { + return "Person{" + + "name='" + name + '\'' + + ", age='" + age + '\'' + + '}'; + } +// 在 `Person` 类中重写 `equals` 方法,使得可以通过 `name` 和 `age` 属性比较两个 `Person` 对象是否相等。 + + + @Override + public boolean equals(Object obj) { + if (this==obj){ + return true; + } + if (obj==null || getClass() !=obj.getClass()){ + return false; + } + Person person=(Person) obj; + return age==person.age&&name.equals(person.name); + + + + } +} diff --git "a/work/com/java/minxi/java_20240516/java_2302_\345\217\266\346\236\227_2344310217/StringTest.java" "b/work/com/java/minxi/java_20240516/java_2302_\345\217\266\346\236\227_2344310217/StringTest.java" new file mode 100644 index 0000000000000000000000000000000000000000..579b6c3d8e598839b21a75293a622c5041619da9 --- /dev/null +++ "b/work/com/java/minxi/java_20240516/java_2302_\345\217\266\346\236\227_2344310217/StringTest.java" @@ -0,0 +1,121 @@ +package com.java.minxi.java_20240516.java_2302_叶林_2344310217; + +import java.util.Scanner; + +public class StringTest { + public static void main(String[] args) { +// 1. 字符串连接 +// - 编写一个程序,连接两个字符串,并输出结果。 + String str1="Hello"; + String str2="World"; + String str3=str1.concat(str2); + String str4=str1+str2; + System.out.println(str3); + System.out.println(str4); + +// 字符串长度 +// - 创建一个方法,接受一个字符串作为参数,返回该字符串的长度。 + String str6=new String("www.running.com"); + String Str8=new String("consider"); + System.out.println("字符串Str6长度:"); + System.out.println(str6.length()); + System.out.println("字符串 Str8长度:"); + System.out.println(Str8.length()); + +//字符串分割 +// - 编写一个程序,将一个以逗号分隔的字符串分割成单词数组。 + String rt="teacher.money.salary"; + String [] temp1; + String delim="\\."; + temp1=rt.split(delim); + for (String x:temp1){ + System.out.println(x); + System.out.println(" "); + } +//字符串反转 +// - 实现一个方法,接受一个字符串作为参数,并返回其反转后的字符串。 + String string="runPlaying"; + String reverse=new StringBuffer(string).reverse().toString(); + System.out.println("字符串反转前:"+string); + System.out.println("字符串反转后:"+reverse); +// 字符串大小写转换 +// - 创建一个方法,将输入的字符串转换为全小写或全大写。 + String hw="bookFaceLogin"; + String Ups=hw.toUpperCase(); + String Lows=hw.toLowerCase(); + System.out.println(Ups); + System.out.println(Lows); +//. 字符串搜索 +// - 编写一个程序,检查一个字符串是否包含另一个字符串。 + String myStr="happyNess"; + System.out.println(myStr.contains("happy")); + System.out.println(myStr.contains("b")); +// 字符串替换 +// - 实现一个方法,将字符串中的所有指定字符替换为另一个字符。 + String wo=new String("fullySheep"); + System.out.println("返回值:"); + System.out.println(wo.replace('u','h')); + System.out.println("返回值:"); + System.out.println(wo.replace('p','c')); +//字符串修剪 +// - 创建一个方法,去除字符串两端的空白字符。 + String bn=" Good Morning "; + String trim=bn.trim(); + System.out.println(bn); + System.out.println(trim); +// 字符串比较 +// - 编写一个程序,比较两个字符串是否相等,忽略大小写。 +//10. 子串操作 + String num1="raining"; + String num2="Raining"; + boolean isEqualsIgnoreCase=num1.equalsIgnoreCase(num2); +// 10. 子串操作 +// - 实现一个方法,提取一个字符串中指定范围内的子串。 + String er="我爱java编程"; + String result=er.substring(3); + System.out.println(result); +// 字符串结束符检查 +// - 编写一个程序,检查一个字符串是否以特定的后缀结束。 +//13. 字符串开始符检查 + Scanner scanner=new Scanner(System.in); + System.out.println("请输入一个字符串"); + String input=scanner.nextLine(); + if (input.endsWith("vbn")){ + System.out.println("输入字符串以特定的后缀结束"); + }else{ + System.out.println("字符串不是以特定后缀结束"); + } +// - 实现一个方法,检查一个字符串是否以特定的前缀开始。 + + System.out.println("请输入一个字符串"); + String input1=scanner.nextLine(); + if (input.endsWith("ghj")){ + System.out.println("输入字符串以特定的前缀结束"); + }else{ + System.out.println("字符串不是以特定前缀结束"); + } +// 字符串中字符的出现次数 +// - 编写一个程序,计算一个字符在字符串中出现的次数。 + String str="dsfSdf"; + int count=0; + for (int i=0;i< str.length();i++){ + int olDLength=str.length(); + char c=str.charAt(0); + String new_str=str.replaceAll(c+"",""); + int new_length=new_str.length(); + count=olDLength -new_length; + str=new_str; + System.out.println("字符"+c+"出现了"+count+"次"); + } +//字符串与数字的转换 +// - 创建一个方法,将字符串转换为相应的整数或浮点数,反之亦然。 + String str9="999"; + int i=Integer.parseInt(str9); + System.out.println(i); +// StringBuilder拼接 +// - 自定义三个字符串常量,使用 StringBuilder将这三个字符串拼接并输出。 + String k="year"; + System.out.println((new StringBuilder()).append("str=").append(k).toString()); + + } +}