From 95b2187341747327941c18f43d66c96d9522e45b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=93=9D=E5=A4=A9-TTF?= <1205840226@qq.com> Date: Thu, 16 May 2024 07:58:03 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat=EF=BC=9A=E6=8F=90=E4=BA=A4=E4=BD=9C?= =?UTF-8?q?=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Animal.java" | 4 + ...ap\347\273\203\344\271\240\351\242\230.md" | 69 ++++++++ .../Test.java" | 151 ++++++++++++++++++ 3 files changed, 224 insertions(+) create mode 100644 "work/com/java/minxi/java_20240515/java_2302_\346\210\264\345\244\251\346\210\220_2344310214/Animal.java" create mode 100644 "work/com/java/minxi/java_20240515/java_2302_\346\210\264\345\244\251\346\210\220_2344310214/Question/Java Set\345\222\214Map\347\273\203\344\271\240\351\242\230.md" create mode 100644 "work/com/java/minxi/java_20240515/java_2302_\346\210\264\345\244\251\346\210\220_2344310214/Test.java" diff --git "a/work/com/java/minxi/java_20240515/java_2302_\346\210\264\345\244\251\346\210\220_2344310214/Animal.java" "b/work/com/java/minxi/java_20240515/java_2302_\346\210\264\345\244\251\346\210\220_2344310214/Animal.java" new file mode 100644 index 0000000..4f1e09e --- /dev/null +++ "b/work/com/java/minxi/java_20240515/java_2302_\346\210\264\345\244\251\346\210\220_2344310214/Animal.java" @@ -0,0 +1,4 @@ +package com.java.minxi.java_20240515.java_2302_戴天成_2344310214; + +public class Animal { +} diff --git "a/work/com/java/minxi/java_20240515/java_2302_\346\210\264\345\244\251\346\210\220_2344310214/Question/Java Set\345\222\214Map\347\273\203\344\271\240\351\242\230.md" "b/work/com/java/minxi/java_20240515/java_2302_\346\210\264\345\244\251\346\210\220_2344310214/Question/Java Set\345\222\214Map\347\273\203\344\271\240\351\242\230.md" new file mode 100644 index 0000000..591d00b --- /dev/null +++ "b/work/com/java/minxi/java_20240515/java_2302_\346\210\264\345\244\251\346\210\220_2344310214/Question/Java Set\345\222\214Map\347\273\203\344\271\240\351\242\230.md" @@ -0,0 +1,69 @@ +**作业要求** + +1.按照Java相关规范编写代码(必须包含.java文件,文件里面包含包名、类名、变量名、方法名); + +2.使用idea提交代码至仓库(需先配置好git); + +3.未按照要求提交的,本次作业0分计算,需重新修改后提交,检查合格后再评分; + +4.可以配合使用JDK-API来完成作业; + + + + + +题目: + +Set 接口习题 + +1. **创建和添加元素** + 创建一个 `HashSet` 并添加至少5个不同的字符串元素。 + +2. **元素检查** + 检查一个特定的字符串是否已经存在于你创建的 `HashSet` 中。 + +3. **元素移除** + 从 `HashSet` 中移除一个已存在的元素,并确认它已被移除。 + +4. **集合大小** + 打印出 `HashSet` 的大小。 + +5. **集合遍历** + 使用增强型 `for` 循环遍历 `HashSet` 并打印每个元素。 + +6. **集合转换为数组** + 将 `HashSet` 转换为数组,并打印数组中的每个元素。 + +7. **集合的并集** + 创建两个 `HashSet` 对象,实现它们的并集操作。 + +8. **集合的交集** + 对上面创建的两个 `HashSet` 对象实现交集操作。 + +9. **集合的差集** + 对上面创建的两个 `HashSet` 对象实现差集操作。 + + + +Map 接口习题 + +1. **创建和添加键值对** + 创建一个 `HashMap` 并添加至少3对键值对,键可以是字符串,值可以是整数。 +2. **获取和打印值** + 使用键来获取对应的值,并打印出来。 +3. **检查键是否存在** + 检查一个特定的键是否存在于 `HashMap` 中。 +4. **键集合遍历** + 遍历 `HashMap` 的键集合,并打印每个键。 +5. **值集合遍历** + 遍历 `HashMap` 的值集合,并打印每个值。 +6. **键值对遍历** + 使用 `entrySet()` 遍历 `HashMap` 的所有键值对,并打印。 +7. **更新值** + 对一个已存在的键更新其对应的值。 +8. **移除键值对** + 移除一个特定的键值对,并确认它已被移除。 +9. **Map 的大小** + 打印出 `HashMap` 的大小。 +10. **使用泛型** + 创建一个泛型 `HashMap`,键为自定义对象,值为字符串,并添加键值对。 diff --git "a/work/com/java/minxi/java_20240515/java_2302_\346\210\264\345\244\251\346\210\220_2344310214/Test.java" "b/work/com/java/minxi/java_20240515/java_2302_\346\210\264\345\244\251\346\210\220_2344310214/Test.java" new file mode 100644 index 0000000..5a5a598 --- /dev/null +++ "b/work/com/java/minxi/java_20240515/java_2302_\346\210\264\345\244\251\346\210\220_2344310214/Test.java" @@ -0,0 +1,151 @@ +package com.java.minxi.java_20240515.java_2302_戴天成_2344310214; + +import java.util.*; + +public class Test { + public static void main(String[] args) { + + // Set 接口习题 + System.out.println("===== Set ====="); + + // 1、创建和添加元素 创建一个 HashSet 并添加至少5个不同的字符串元素。 + Set hashSet = new HashSet<>(); + + hashSet.add("A"); + hashSet.add("B"); + hashSet.add("C"); + hashSet.add("D"); + hashSet.add("E"); + + // 2、元素检查 检查一个特定的字符串是否已经存在于你创建的 HashSet 中。 + System.out.println("---------------------"); + System.out.println("字符串 C 是否已经存在:" + (hashSet.contains("C") ? "是" : "否")); + + // 3、元素移除 从 HashSet 中移除一个已存在的元素,并确认它已被移除。 + System.out.println("---------------------"); + System.out.println("移除元素 E 是否成功:" + (hashSet.remove("E") ? "是" : "否")); + System.out.println("移除元素 \"E\" 后的 hashSet 为:" + hashSet); + + // 4、集合大小 打印出 HashSet 的大小。 + System.out.println("---------------------"); + System.out.println("hashSet 的大小为:" + hashSet.size()); + + // 5、集合遍历 使用增强型 for 循环遍历 HashSet 并打印每个元素。 + System.out.println("---------------------"); + System.out.println("hashSet 的每个元素打印如下:"); + for (String s : hashSet) { + System.out.println(s); + } + + // 6、集合转换为数组 将 HashSet 转换为数组,并打印数组中的每个元素。 + System.out.println("---------------------"); + String[] arrList = hashSet.toArray(new String[0]); + System.out.println("hashSet 转为数组后的每个元素打印如下:"); + for (String s : arrList) { + System.out.println(s); + } + + // 建立一个用于7-9题的一个HashSet对象 + Set result = new HashSet<>(); + + // 7、集合的并集 创建两个 HashSet 对象,实现它们的并集操作。 + System.out.println("---------------------"); + Set hashSet1 = new HashSet<>(); + hashSet1.add("A"); + hashSet1.add("B"); + hashSet1.add("C"); + + Set hashSet2 = new HashSet<>(); + hashSet2.add("A"); + hashSet2.add("B"); + + result.addAll(hashSet1); + result.addAll(hashSet2); + System.out.println("hashSet1 与 hashSet2 的并集为:" + result); + + // 8、集合的交集 对上面创建的两个 HashSet 对象实现交集操作。 + System.out.println("---------------------"); + result.addAll(hashSet1); + result.retainAll(hashSet2); + System.out.println("hashSet1 与 hashSet2 的交集为:" + result); + + // 9、集合的差集 对上面创建的两个 HashSet 对象实现差集操作。 + System.out.println("---------------------"); + result.clear(); + result.addAll(hashSet1); + result.removeAll(hashSet2); + System.out.println("hashSet1 与 hashSet2 的差集为:" + result); + + System.out.println("---------------------"); + System.out.println("---------------------"); + System.out.println("---------------------"); + + // Map 接口习题 + System.out.println("===== Map ====="); + + // 1、创建和添加键值对 创建一个 HashMap 并添加至少3对键值对,键可以是字符串,值可以是整数。 + Map hashMap = new HashMap<>(); + hashMap.put("1", 10); + hashMap.put("2", 20); + hashMap.put("3", 30); + + // 2、获取和打印值 使用键来获取对应的值,并打印出来。 + System.out.println("---------------------"); + System.out.println("hashMap 键 \"1\" 对应的值为:" + hashMap.get("1")); + + // 3、检查键是否存在 检查一个特定的键是否存在于 HashMap 中。 + System.out.println("---------------------"); + System.out.println("hashMap 中是否存在为 \"1\" 的键:" + (hashMap.containsKey("1") ? "是" : "否")); + + // 4、键集合遍历 遍历 HashMap 的键集合,并打印每个键。 + System.out.println("---------------------"); + System.out.println("hashMap 的键集合打印如下:"); + for (String s : hashMap.keySet()) { + System.out.println(s); + } + + // 5、值集合遍历 遍历 HashMap 的值集合,并打印每个值。 + System.out.println("---------------------"); + System.out.println("hashMap 的值集合打印如下:"); + for (Integer s : hashMap.values()) { + System.out.println(s); + } + + // 6、键值对遍历 使用 entrySet() 遍历 HashMap 的所有键值对,并打印。 + System.out.println("---------------------"); + System.out.println("hashMap 的键值对集合打印如下:"); + for (Map.Entry stringIntegerEntry : hashMap.entrySet()) { + System.out.println(stringIntegerEntry); + } + + // 7、更新值 对一个已存在的键更新其对应的值。 + System.out.println("---------------------"); + hashMap.replace("1", 100); + System.out.println("hashMap 更新后的键值对集合打印如下:"); + for (Map.Entry stringIntegerEntry : hashMap.entrySet()) { + System.out.println(stringIntegerEntry); + } + + // 8、移除键值对 移除一个特定的键值对,并确认它已被移除。 + System.out.println("---------------------"); + hashMap.remove("2", 20); + System.out.println("hashMap 移除后的键值对集合打印如下:"); + for (Map.Entry stringIntegerEntry : hashMap.entrySet()) { + System.out.println(stringIntegerEntry); + } + + // 9、Map 的大小 打印出 HashMap 的大小。 + System.out.println("---------------------"); + System.out.println("hashMap的大小为:" + hashMap.size()); + + // 10、使用泛型 创建一个泛型 HashMap,键为自定义对象,值为字符串,并添加键值对。 + System.out.println("---------------------"); + Map oopMap = new HashMap<>(); + oopMap.put(new Animal(), "动物"); + System.out.println("hashMap 移除后的键值对集合打印如下:"); + for (Map.Entry animalStringEntry : oopMap.entrySet()) { + System.out.println(animalStringEntry); + } + + } +} -- Gitee From 0ff08c6dec36268771c0648a9cf024fa57b2191d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=93=9D=E5=A4=A9-TTF?= <1205840226@qq.com> Date: Tue, 21 May 2024 20:50:59 +0800 Subject: [PATCH 2/2] =?UTF-8?q?feat=EF=BC=9A=E6=8F=90=E4=BA=A4=E4=BD=9C?= =?UTF-8?q?=E4=B8=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BigDecimalTest.java" | 54 ++++++++ .../DateTest.java" | 46 ++++++ .../MathTest.java" | 69 +++++++++ .../ObjectTest.java" | 21 +++ .../Person.java" | 49 +++++++ ...73\347\273\203\344\271\240\351\242\230.md" | 93 +++++++++++++ .../StringTest.java" | 131 ++++++++++++++++++ 7 files changed, 463 insertions(+) create mode 100644 "work/com/java/minxi/java_20240516/java_2302_\346\210\264\345\244\251\346\210\220_2344310214/BigDecimalTest.java" create mode 100644 "work/com/java/minxi/java_20240516/java_2302_\346\210\264\345\244\251\346\210\220_2344310214/DateTest.java" create mode 100644 "work/com/java/minxi/java_20240516/java_2302_\346\210\264\345\244\251\346\210\220_2344310214/MathTest.java" create mode 100644 "work/com/java/minxi/java_20240516/java_2302_\346\210\264\345\244\251\346\210\220_2344310214/ObjectTest.java" create mode 100644 "work/com/java/minxi/java_20240516/java_2302_\346\210\264\345\244\251\346\210\220_2344310214/Person.java" create mode 100644 "work/com/java/minxi/java_20240516/java_2302_\346\210\264\345\244\251\346\210\220_2344310214/Question/10.Java \345\270\270\347\224\250\347\261\273\347\273\203\344\271\240\351\242\230.md" create mode 100644 "work/com/java/minxi/java_20240516/java_2302_\346\210\264\345\244\251\346\210\220_2344310214/StringTest.java" diff --git "a/work/com/java/minxi/java_20240516/java_2302_\346\210\264\345\244\251\346\210\220_2344310214/BigDecimalTest.java" "b/work/com/java/minxi/java_20240516/java_2302_\346\210\264\345\244\251\346\210\220_2344310214/BigDecimalTest.java" new file mode 100644 index 0000000..2933f8a --- /dev/null +++ "b/work/com/java/minxi/java_20240516/java_2302_\346\210\264\345\244\251\346\210\220_2344310214/BigDecimalTest.java" @@ -0,0 +1,54 @@ +package com.java.minxi.java_20240516.java_2302_戴天成_2344310214; + +import java.math.BigDecimal; + +public class BigDecimalTest { + public static void main(String[] args) { + // BigDecimal 类练习题: + System.out.println("========== BigDecimal =========="); + + // 1、创建 BigDecimal 对象 + System.out.println("<><><><><><><><><><><><><><>"); + BigDecimal num1 = new BigDecimal("123.456"); + BigDecimal num2 = new BigDecimal("654.321"); + + // 2、基本算术运算 + System.out.println("<><><><><><><><><><><><><><>"); + bigDecimalCalculation(num1, num2); + + // 3、舍入操作 + System.out.println("<><><><><><><><><><><><><><>"); + BigDecimal rounded = num1.setScale(BigDecimal.ROUND_HALF_UP, 2); + System.out.println("舍入结果: " + rounded); + + // 4、比较 BigDecimal 对象值 + System.out.println("<><><><><><><><><><><><><><>"); + + // 比较 BigDecimal 对象值是否相等 + boolean isEqual = compareEqual(num1, num2); + System.out.println("数值是否相等: " + isEqual); + + // 比较 BigDecimal 对象值大小 + int comparisonResult = compareValues(num1, num2); + System.out.println("数值比较结果: " + comparisonResult); + } + + // 实现一个方法,接受两个 BigDecimal 对象作为参数,执行加、减、乘、除运算。 + static void bigDecimalCalculation(BigDecimal num1, BigDecimal num2) { + System.out.println("运算-加:" + num1.add(num2)); + System.out.println("运算-减:" + num1.subtract(num2)); + System.out.println("运算-乘:" + num1.multiply(num2)); + System.out.println("运算-除:" + num1.divide(num2, 2, BigDecimal.ROUND_HALF_UP)); + } + + + // 比较两个 BigDecimal 对象的值是否相等 + public static boolean compareEqual(BigDecimal num1, BigDecimal num2) { + return num1.compareTo(num2) == 0; + } + + // 比较两个 BigDecimal 对象的值大小 + public static int compareValues(BigDecimal num1, BigDecimal num2) { + return num1.compareTo(num2); + } +} diff --git "a/work/com/java/minxi/java_20240516/java_2302_\346\210\264\345\244\251\346\210\220_2344310214/DateTest.java" "b/work/com/java/minxi/java_20240516/java_2302_\346\210\264\345\244\251\346\210\220_2344310214/DateTest.java" new file mode 100644 index 0000000..e0cef91 --- /dev/null +++ "b/work/com/java/minxi/java_20240516/java_2302_\346\210\264\345\244\251\346\210\220_2344310214/DateTest.java" @@ -0,0 +1,46 @@ +package com.java.minxi.java_20240516.java_2302_戴天成_2344310214; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.Date; + +public class DateTest { + public static void main(String[] args) throws ParseException { + + // Date 类练习题: + System.out.println("========== Date =========="); + + // 1、创建 Date 对象 + System.out.println("<><><><><><><><><><><><><><>"); + Date date = new Date(); + System.out.println(date.getTime()); + + // 2、获取 Date 对象的年份、月份、天数等 + System.out.println("<><><><><><><><><><><><><><>"); + getTimeByDate(date); + + // 3、格式化 Date 对象 + System.out.println("<><><><><><><><><><><><><><>"); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + System.out.println(sdf.format(date)); + + // 4、Date 转字符串再转回 Date + System.out.println("<><><><><><><><><><><><><><>"); + String dateString = sdf.format(date); + System.out.println("转成字符串后的Date对象为:" + dateString); + Date parsedDate = sdf.parse(dateString); + System.out.println("字符串转回Date对象为:" + parsedDate); + + // 5、System类使用 + System.out.println("<><><><><><><><><><><><><><>"); + long currentTime = System.currentTimeMillis(); + Date currentDate = new Date(currentTime); + System.out.println("当前时间(由时间戳转换):" + sdf.format(currentDate)); + } + + static void getTimeByDate(Date date) { + System.out.println("该日期的年份为:" + (date.getYear() + 1900)); + System.out.println("该日期的月份为:" + (date.getMonth() + 1)); + System.out.println("该日期的天数为:" + date.getDate()); + } +} diff --git "a/work/com/java/minxi/java_20240516/java_2302_\346\210\264\345\244\251\346\210\220_2344310214/MathTest.java" "b/work/com/java/minxi/java_20240516/java_2302_\346\210\264\345\244\251\346\210\220_2344310214/MathTest.java" new file mode 100644 index 0000000..20d209a --- /dev/null +++ "b/work/com/java/minxi/java_20240516/java_2302_\346\210\264\345\244\251\346\210\220_2344310214/MathTest.java" @@ -0,0 +1,69 @@ +package com.java.minxi.java_20240516.java_2302_戴天成_2344310214; + +import java.util.Random; +import java.util.Scanner; + +public class MathTest { + public static void main(String[] args) { + // Scanner对象,用于接收数据 + Scanner sc = new Scanner(System.in); + + // Random对象,用于生成随机数 + Random random = new Random(); + + + + // Math 类练习题: + System.out.println("========== Math =========="); + + // 1、绝对值 + System.out.println("<><><><><><><><><><><><><><>"); + System.out.print("请输入一个数字:"); + int intNum = sc.nextInt(); + System.out.println("这个数的绝对值为:" + Math.abs(intNum)); + + // 2、最小值和最大值 + System.out.println("<><><><><><><><><><><><><><>"); + System.out.print("请输入三个整数[用空格分隔]:"); + int a = sc.nextInt(); + int b = sc.nextInt(); + int c = sc.nextInt(); + MaxAndMin(a, b, c); + + // 3、四舍五入 + System.out.println("<><><><><><><><><><><><><><>"); + System.out.print("请输入一个浮点数:"); + float floatNum = sc.nextFloat(); + System.out.println("这个浮点数四舍五入后为:" + (Math.round(floatNum))); + + // 4、随机数生成 + System.out.println("<><><><><><><><><><><><><><>"); + System.out.print("请输入随机数的最大值:"); + double maxRandomRange = sc.nextDouble(); + System.out.println("生成的随机数为:" + random.nextDouble() * maxRandomRange); + + // 5、计算平均值 + // 创建一个方法,接受一个整数数组,并返回数组的平均值。 + System.out.println("<><><><><><><><><><><><><><>"); + int[] intArr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; + System.out.println("数组 {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} 的平均数为:" + getIntArrAverage(intArr)); + + } + + // 2、最小值和最大值 + // 创建一个方法,接受三个整数作为参数,返回这三个整数中的最小值和最大值。 + static void MaxAndMin(int a, int b, int c) { + System.out.println("这三个整数中的最大值为:" + Math.max(Math.max(a, b), c)); + System.out.println("这三个整数中的最小值为:" + Math.min(Math.min(a, b), c)); + } + + // 5、计算平均值 + // 创建一个方法,接受一个整数数组,并返回数组的平均值。 + static double getIntArrAverage(int[] arr) { + double avg = 0; + for (int i : arr) { + avg += i; + } + return avg / arr.length; + } +} diff --git "a/work/com/java/minxi/java_20240516/java_2302_\346\210\264\345\244\251\346\210\220_2344310214/ObjectTest.java" "b/work/com/java/minxi/java_20240516/java_2302_\346\210\264\345\244\251\346\210\220_2344310214/ObjectTest.java" new file mode 100644 index 0000000..3e7d596 --- /dev/null +++ "b/work/com/java/minxi/java_20240516/java_2302_\346\210\264\345\244\251\346\210\220_2344310214/ObjectTest.java" @@ -0,0 +1,21 @@ +package com.java.minxi.java_20240516.java_2302_戴天成_2344310214; + +public class ObjectTest { + public static void main(String[] args) { + + // Object 类练习题: + System.out.println("========== Object =========="); + + // 1、重写 toString 方法 + System.out.println("<><><><><><><><><><><><><><>"); + Person person = new Person("小白", 18); + System.out.println(person); + + // 2、使用 equals 方法 + System.out.println("<><><><><><><><><><><><><><>"); + Person person1 = new Person("大白", 28); + Person person2 = new Person("大白", 28); + System.out.println("person1 与 person2 是否相等:" + (person1.equals(person2) ? "是" : "否")); + + } +} diff --git "a/work/com/java/minxi/java_20240516/java_2302_\346\210\264\345\244\251\346\210\220_2344310214/Person.java" "b/work/com/java/minxi/java_20240516/java_2302_\346\210\264\345\244\251\346\210\220_2344310214/Person.java" new file mode 100644 index 0000000..74804a9 --- /dev/null +++ "b/work/com/java/minxi/java_20240516/java_2302_\346\210\264\345\244\251\346\210\220_2344310214/Person.java" @@ -0,0 +1,49 @@ +package com.java.minxi.java_20240516.java_2302_戴天成_2344310214; + +import java.util.Objects; + +public class Person { + private String name; + private int age; + + public Person() { + } + + public Person(String name, int age) { + this.name = name; + this.age = age; + } + + + @Override + public String toString() { + return "Staff{" + + "name='" + name + '\'' + + ", age='" + age + '\'' + + '}'; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + Person person = (Person) o; + return Objects.equals(name, person.name) && Objects.equals(age, person.age); + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getAge() { + return age; + } + + public void setAge(int age) { + this.age = age; + } +} diff --git "a/work/com/java/minxi/java_20240516/java_2302_\346\210\264\345\244\251\346\210\220_2344310214/Question/10.Java \345\270\270\347\224\250\347\261\273\347\273\203\344\271\240\351\242\230.md" "b/work/com/java/minxi/java_20240516/java_2302_\346\210\264\345\244\251\346\210\220_2344310214/Question/10.Java \345\270\270\347\224\250\347\261\273\347\273\203\344\271\240\351\242\230.md" new file mode 100644 index 0000000..5f1df45 --- /dev/null +++ "b/work/com/java/minxi/java_20240516/java_2302_\346\210\264\345\244\251\346\210\220_2344310214/Question/10.Java \345\270\270\347\224\250\347\261\273\347\273\203\344\271\240\351\242\230.md" @@ -0,0 +1,93 @@ +作业要求 + +1.按照Java相关规范编写代码(必须包含.java文件,文件里面包含包名、类名、变量名、方法名); + +2.使用idea提交代码至仓库(需先配置好git); + +3.未按照要求提交的,本次作业0分计算,需重新修改后提交,检查合格后再评分; + +4.可以配合使用JDK-API来完成作业; + + + + + +题目: + + **`Object` 类练习题**: + +1. 重写 `toString` 方法 + - 创建一个 `Person` 类,包含 `name` 和 `age` 属性。重写 `toString` 方法,使其返回一个字符串,包含对象的 `name` 和 `age`。 +2. 使用 `equals` 方法 + - 在 `Person` 类中重写 `equals` 方法,使得可以通过 `name` 和 `age` 属性比较两个 `Person` 对象是否相等。 + + **`Math` 类练习题**: + +1. 绝对值 + - 编写一个程序,接受一个用户输入的数字,然后输出该数字的绝对值。 +2. 最小值和最大值 + - 创建一个方法,接受三个整数作为参数,返回这三个整数中的最小值和最大值。 +3. 四舍五入 + - 编写一个程序,接受一个浮点数作为输入,并将其四舍五入到最近的整数。 +7. 随机数生成 + - 使用 `Math.random()` 方法生成一个 0 到 1 之间的随机数,并将其乘以一个用户指定的最大值。 +13. 计算平均值 + - 创建一个方法,接受一个整数数组,并返回数组的平均值。 + + **`Date` 类练习题**: + +1. 创建 Date 对象 + - 编写一个程序,创建一个 `Date` 对象,表示当前时间。 +2. 获取 Date 对象的年份、月份、天数等 + - 创建一个方法,接受一个 `Date` 对象作为参数,返回该日期的年份、月份和天数。 +3. 格式化 Date 对象 + - 使用 `SimpleDateFormat` 类将 `Date` 对象格式化为指定的日期格式字符串,如 "yyyy-MM-dd HH:mm:ss"。 +4. Date 转字符串再转回 Date + - 实现一个程序,将 `Date` 对象转换为字符串,然后将该字符串重新解析回 `Date` 对象。 +5. System类使用 + - 使用System类获得当前时间戳,将时间戳转换成`Date` 对象,要求按照该格式 "yyyy-MM-dd HH:mm:ss" 打印出当前时间。 + +**`String` 类练习题**: + +1. 字符串连接 + - 编写一个程序,连接两个字符串,并输出结果。 +2. 字符串长度 + - 创建一个方法,接受一个字符串作为参数,返回该字符串的长度。 +3. 字符串分割 + - 编写一个程序,将一个以逗号分隔的字符串分割成单词数组。 +4. 字符串反转 + - 实现一个方法,接受一个字符串作为参数,并返回其反转后的字符串。 +5. 字符串大小写转换 + - 创建一个方法,将输入的字符串转换为全小写或全大写。 +6. 字符串搜索 + - 编写一个程序,检查一个字符串是否包含另一个字符串。 +7. 字符串替换 + - 实现一个方法,将字符串中的所有指定字符替换为另一个字符。 +8. 字符串修剪 + - 创建一个方法,去除字符串两端的空白字符。 +9. 字符串比较 + - 编写一个程序,比较两个字符串是否相等,忽略大小写。 +10. 子串操作 + - 实现一个方法,提取一个字符串中指定范围内的子串。 +12. 字符串结束符检查 + - 编写一个程序,检查一个字符串是否以特定的后缀结束。 +13. 字符串开始符检查 + - 实现一个方法,检查一个字符串是否以特定的前缀开始。 +14. 字符串中字符的出现次数 + - 编写一个程序,计算一个字符在字符串中出现的次数。 +16. 字符串与数字的转换 + - 创建一个方法,将字符串转换为相应的整数或浮点数,反之亦然。 +20. StringBuilder拼接 + - 自定义三个字符串常量,使用 StringBuilder将这三个字符串拼接并输出。 + +**`BigDecimal` 类练习题:** + +1. 创建 BigDecimal 对象 + - 编写一个程序,使用字符串构造函数创建一个 `BigDecimal` 对象。 +2. 基本算术运算 + - 实现一个方法,接受两个 `BigDecimal` 对象作为参数,执行加、减、乘、除运算。 +3. 舍入操作 + - 编写一个程序,对一个 `BigDecimal` 对象执行舍入操作,指定舍入模式和精度。 +4. 比较 BigDecimal 对象值 + - 创建一个方法,比较两个 `BigDecimal` 对象的值是否相等。 + - 创建一个方法,比较两个 `BigDecimal` 对象的值大小。 diff --git "a/work/com/java/minxi/java_20240516/java_2302_\346\210\264\345\244\251\346\210\220_2344310214/StringTest.java" "b/work/com/java/minxi/java_20240516/java_2302_\346\210\264\345\244\251\346\210\220_2344310214/StringTest.java" new file mode 100644 index 0000000..ae367b6 --- /dev/null +++ "b/work/com/java/minxi/java_20240516/java_2302_\346\210\264\345\244\251\346\210\220_2344310214/StringTest.java" @@ -0,0 +1,131 @@ +package com.java.minxi.java_20240516.java_2302_戴天成_2344310214; + +import java.util.Arrays; +import java.util.Scanner; + +public class StringTest { + public static void main(String[] args) { + // 创建Scanner对象 用于接收数据 + Scanner sc = new Scanner(System.in); + + // 创建 StringBuilder 对象 + StringBuilder stringBuilder = new StringBuilder(); + + // String 类练习题: + System.out.println("========== String =========="); + + // 1、字符串连接 + System.out.println("<><><><><><><><><><><><><><>"); + String strA = "字符串A"; + String strB = "字符串B"; + System.out.println("字符串A 与 字符串B 拼接后为:" + (strA + strB)); + + // 2、字符串长度 + System.out.println("<><><><><><><><><><><><><><>"); + String strC = "字符串C"; + System.out.println("字符串C 的长度为:" + getStringLength(strC)); + + // 3、字符串分割 + System.out.println("<><><><><><><><><><><><><><>"); + String strD = "Hello,World,There"; + System.out.println(Arrays.toString(strD.split(","))); + + // 4、字符串反转 + System.out.println("<><><><><><><><><><><><><><>"); + String strE = "12345"; + System.out.println(reverseString(strE)); + + // 5、字符串大小写转换 + System.out.println("<><><><><><><><><><><><><><>"); + String strF = "ABCDE"; + + strF = strF.toLowerCase(); + System.out.println("全部转换为小写:" + strF); + strF = strF.toUpperCase(); + System.out.println("全部转换为大写:" + strF); + + // 6、字符串搜索 + System.out.println("<><><><><><><><><><><><><><>"); + String strG = "Gooood"; + System.out.println("字符串strG 是否包含 字符串 'ooo' : " + (strG.contains("ooo") ? "是" : "否")); + + // 7、字符串替换 + System.out.println("<><><><><><><><><><><><><><>"); + String strH = "Nooooo"; + System.out.println("替换字符串为:" + strH.replace("o", "y")); + + // 8、字符串修剪 + System.out.println("<><><><><><><><><><><><><><>"); + String strI = " Yep "; + System.out.println("去除字符串两端的空白字符后为:" + strI.trim()); + + // 9、字符串比较 + System.out.println("<><><><><><><><><><><><><><>"); + String strAA = "AA"; + String straa = "aa"; + System.out.println("aa 与 AA 是否相等(无视大小写):" + (strAA.equalsIgnoreCase(straa) ? "是" : "否")); + + // 10、子串操作 + System.out.println("<><><><><><><><><><><><><><>"); + String strJ = "AaaaA"; + System.out.println(extractSubstring(strJ, 1, 4)); + + // 11、字符串结束符检查 + System.out.println("<><><><><><><><><><><><><><>"); + String strK = "asdasdO"; + System.out.println("字符串是否以 'O' 结尾:" + (strK.endsWith("O") ? "是" : "否")); + + // 12、字符串开始符检查 + System.out.println("<><><><><><><><><><><><><><>"); + String strL = "Pasdasd"; + System.out.println("字符串是否以 'P' 开头:" + (strL.startsWith("P") ? "是" : "否")); + + // 13、字符串中字符的出现次数 + System.out.println("<><><><><><><><><><><><><><>"); + String strM = "MmmmmmMmMMmm"; + System.out.println("字符 'm' 在字符串中出现的次数为:" + charCounter(strM, 'm')); + + // 14、字符串与数字的转换 + System.out.println("<><><><><><><><><><><><><><>"); + String strN = "123"; + int strNInt = Integer.parseInt(strN); + float strNFloat = 12.3F; + String strNStr = Float.toString(strNFloat); + + System.out.println("字符串 “123” 转换为整数为:" + strNInt); + System.out.println("浮点数 “12.3F”转换为字符串为:" + strNStr); + + // 15、StringBuilder拼接 + System.out.println("<><><><><><><><><><><><><><>"); + String string1 = "AA"; + String string2 = "BB"; + String string3 = "CC"; + + stringBuilder.append(string1).append(string2).append(string3); + + System.out.println("用StringBuilder拼接后的 string1 string2 string3 为:" + stringBuilder); + + } + + static int getStringLength(String str) { + return str.length(); + } + + static String reverseString(String str) { + return new StringBuilder(str).reverse().toString(); + } + + static String extractSubstring(String str, int start, int end) { + return str.substring(start, end); + } + + static int charCounter(String str, char c) { + int count = 0; + for (int i = 0; i < str.length(); i++) { + if (str.charAt(i) == c) { + count++; + } + } + return count; + } +} -- Gitee