diff --git "a/work/com/java/minxi/java_20240515/java_2302_\345\210\230\345\256\227\346\227\255_2344310210/MapDemo.java" "b/work/com/java/minxi/java_20240515/java_2302_\345\210\230\345\256\227\346\227\255_2344310210/MapDemo.java" new file mode 100644 index 0000000000000000000000000000000000000000..18bec7ee654ded4a5edce4ab37a3dc7df993afdb --- /dev/null +++ "b/work/com/java/minxi/java_20240515/java_2302_\345\210\230\345\256\227\346\227\255_2344310210/MapDemo.java" @@ -0,0 +1,62 @@ +package com.java.minxi.java_20240515.java_2302_刘宗旭_2344310210; + +import java.util.*; + +class Person{} + +public class MapDemo { + public static void main(String[] args) { + // 创建一个HashMap对象 + HashMap map = new HashMap<>(); + + // 添加键值对到HashMap中 + map.put("凤凰院凶真", 18); + map.put("牧濑红莉栖", 18); + map.put("稚名真由里", 16); + + // 使用键来获取对应的值,并打印出来。 + Set MapKey = map.keySet(); + for (String s : MapKey) + System.out.println(s + " : " + map.get(s)); + System.out.println(); + + // 检查一个键是否存在于HashMap中 + System.out.println("Bob exists: " + map.containsKey("Bob")); + + // 遍历所有的键 + System.out.print("Iteration key:"); + for (String key : map.keySet()) + System.out.print(key + " "); + System.out.println(); + + // 遍历所有的值 + System.out.print("Iteration value:"); + for (Integer value : map.values()) + System.out.print(value + " "); + System.out.println(); + + // 遍历所有的键值对 + for (Map.Entry entry : map.entrySet()) + System.out.println(entry.getKey() + " : " + entry.getValue()); + + // 检查HashMap是否包含特定的键 + System.out.println("HashMap contains Alice: " + map.containsKey("Alice")); + + // 对一个已存在的键更新其对应的值 + map.put("Alice", 26); + System.out.println("Alice's new age: " + map.get("Alice")); + + // 移除一个特定的键值对,并确认它已被移除 + map.remove("Bob"); + System.out.println("Bob exists after removal: " + map.containsKey("Bob")); + + // 获取Map的大小 + System.out.println("Map size: " + map.size()); + + // 创建一个泛型 `HashMap`,键为自定义对象,值为字符串,并添加键值对 + HashMap personMap = new HashMap<>(); + Person p = new Person(); + personMap.put(p, "阿万音铃羽"); + System.out.println("Person map value: " + personMap.get(p)); + } +} diff --git "a/work/com/java/minxi/java_20240515/java_2302_\345\210\230\345\256\227\346\227\255_2344310210/SetDemo.java" "b/work/com/java/minxi/java_20240515/java_2302_\345\210\230\345\256\227\346\227\255_2344310210/SetDemo.java" new file mode 100644 index 0000000000000000000000000000000000000000..ec45a1c76d37f267b1870aae3ea8a7147f491a05 --- /dev/null +++ "b/work/com/java/minxi/java_20240515/java_2302_\345\210\230\345\256\227\346\227\255_2344310210/SetDemo.java" @@ -0,0 +1,53 @@ +package com.java.minxi.java_20240515.java_2302_刘宗旭_2344310210; + +import java.util.*; + +public class SetDemo { + public static void main(String[] args) { + Set set = new HashSet<>();//创建HashSet实例 + set.add("Shanghai"); + set.add("Beijing"); + set.add("Jiangsu"); + set.add("Nanjing"); + set.add("Zhejiang"); + + Set set2 = new HashSet<>();//创建HashSet实例 + set2.add("Fujian"); + set2.add("Taiwan"); + set2.add("Henan"); + set2.add("Hebei"); + set2.add("Guangdong"); + + //元素检查 + System.out.println("集合中是否包含'Shanghai':" + set.contains("Shanghai")); + //元素移除 + System.out.println(set.remove("Nanjing") + " " + set); + //集合大小 + System.out.println("集合大小:" + set.size()); + + //迭代 + System.out.print("迭代输出集合元素:"); + for (String str : set) { + System.out.print(" " + str); + } + System.out.println(); + + //集合转换为数组 + System.out.print("集合转换为数组:"); + String[] s = set.toArray(new String[0]); + System.out.println(Arrays.toString(s)); + + //集合的并、交、差运算 + //集合的并集 + System.out.print(set.addAll(set2) + " "); + System.out.println(set); + + //集合的交集 + System.out.print(set.retainAll(set2) + " "); + System.out.println(set); + + //集合的差集 + System.out.print(set.removeAll(set2) + " "); + System.out.println(set); + } +} diff --git "a/work/com/java/minxi/java_20240516/java_2302_\345\210\230\345\256\227\346\227\255_2344310210/BigDecimalDemo.java" "b/work/com/java/minxi/java_20240516/java_2302_\345\210\230\345\256\227\346\227\255_2344310210/BigDecimalDemo.java" new file mode 100644 index 0000000000000000000000000000000000000000..33c99ef597a4777b787bb8ab63f75f11cffde38a --- /dev/null +++ "b/work/com/java/minxi/java_20240516/java_2302_\345\210\230\345\256\227\346\227\255_2344310210/BigDecimalDemo.java" @@ -0,0 +1,41 @@ +package com.java.minxi.java_20240516.java_2302_刘宗旭_2344310210; + +import java.math.BigDecimal; +import java.math.RoundingMode; + +public class BigDecimalDemo { + //加减乘除运算操作方法 + public static String operation(BigDecimal number1, BigDecimal number2) { + BigDecimal sum = number1.add(number2); + BigDecimal different = number1.subtract(number2); + BigDecimal product = number1.multiply(number2); + BigDecimal quotient = number1.divide(number2, 20, RoundingMode.HALF_UP); + return "加法结果:" + sum + "\n减法结果:" + different + "\n乘法结果:" + product + "\n除法结果:" + quotient; + } + + public static void main(String[] args) { + //使用字符串构造函数创建一个 `BigDecimal` 对象 + BigDecimal bd1 = new BigDecimal("10.1"); + System.out.println(bd1); + + //使用valueOf()方法创建一个 `BigDecimal` 对象 + BigDecimal bd2 = BigDecimal.valueOf(10.2); + System.out.println(bd2); + + //基本算数运算 + System.out.println(operation(bd1, bd2)); + + //四舍五入 + BigDecimal rounded = bd1.setScale(2, RoundingMode.HALF_UP); + System.out.println("四舍五入:" + rounded); + + //比较大小 + int compareResult = bd1.compareTo(bd2); + if (compareResult > 0) { + System.out.println(bd1 + " 大于 " + bd2); + }else if (compareResult < 0) { + System.out.println(bd1 + " 小于 " + bd2); + }else + System.out.println(bd1 + " 等于 " + bd2); + } +} diff --git "a/work/com/java/minxi/java_20240516/java_2302_\345\210\230\345\256\227\346\227\255_2344310210/DateDemo.java" "b/work/com/java/minxi/java_20240516/java_2302_\345\210\230\345\256\227\346\227\255_2344310210/DateDemo.java" new file mode 100644 index 0000000000000000000000000000000000000000..19cd6874abd97c8e510083d4971d9468cbf0e678 --- /dev/null +++ "b/work/com/java/minxi/java_20240516/java_2302_\345\210\230\345\256\227\346\227\255_2344310210/DateDemo.java" @@ -0,0 +1,71 @@ +package com.java.minxi.java_20240516.java_2302_刘宗旭_2344310210; + +import java.text.*; +import java.util.Calendar; +import java.util.Date; +import java.util.GregorianCalendar; + +public class DateDemo { + //获取当前时间方法 + public static Date getCurrentDate() { + return new Date(); + } + + //获取Date对象的年月日 + public static void getDate(Date date) throws IllegalArgumentException { + Calendar calendar = new GregorianCalendar(); + calendar.setTime(date); + int year = calendar.get(Calendar.YEAR); + int month = calendar.get(Calendar.MONTH) + 1; // 月份从0开始,所以需要加1 + int day = calendar.get(Calendar.DAY_OF_MONTH); + + System.out.println("年: " + year + ", 月: " + month + ", 日: " + day); + } + + // 定义日期格式方法 + public static String dateFormat(String pattern,Date date) { + SimpleDateFormat sdf = new SimpleDateFormat(pattern); + return sdf.format(date); + } + + // 解析日期字符串方法 + public static Date dateParse(String pattern, String dateString) throws ParseException { + SimpleDateFormat sdf = new SimpleDateFormat(pattern); + return sdf.parse(dateString); + } + + public static void main(String[] args) { + // 获取当前时间 + Date currentDate = getCurrentDate(); + System.out.println("当前时间: " + currentDate); + + // 获取年月日 + try { + getDate(currentDate); + }catch(IllegalArgumentException e) { + System.out.println("输入的日期格式不正确"); + } + + // 格式化日期(Date转String) + String formattedDate = dateFormat("yyyy-MM-dd HH:mm:ss:SS", currentDate); + System.out.println("格式化后的日期为:" + formattedDate); + + // 解析日期字符串(String转Date) + String dateString = "2023-05-16 12:30:45:789"; + Date parsedDate; + try { + parsedDate = dateParse("yyyy-MM-dd HH:mm:ss", dateString); + System.out.println("解析后的日期为:" + parsedDate); + }catch (ParseException e) { + System.out.println("日期字符串格式不正确"); + } + + // 用System类获取时间戳 + long timestamp = System.currentTimeMillis(); + System.out.println("时间戳为:" + timestamp); + + // 将时间戳转换为Date对象 + Date timestampDate = new Date(timestamp); + System.out.println("时间戳转换的日期为:" + timestampDate); + } +} diff --git "a/work/com/java/minxi/java_20240516/java_2302_\345\210\230\345\256\227\346\227\255_2344310210/MathDemo.java" "b/work/com/java/minxi/java_20240516/java_2302_\345\210\230\345\256\227\346\227\255_2344310210/MathDemo.java" new file mode 100644 index 0000000000000000000000000000000000000000..cbb337ca5dc736679391582c528198cff9a55ab7 --- /dev/null +++ "b/work/com/java/minxi/java_20240516/java_2302_\345\210\230\345\256\227\346\227\255_2344310210/MathDemo.java" @@ -0,0 +1,107 @@ +package com.java.minxi.java_20240516.java_2302_刘宗旭_2344310210; + +import java.util.*; + +public class MathDemo { + // 取绝对值方法 + public static double abs(double num) { + return Math.abs(num); + } + + // 将字符串转换为数字 + private static Integer[] convertToInt(String strNums) { + String[] strArr = strNums.split(" "); + Integer[] intArr = new Integer[strArr.length]; + for (int i = 0; i < strArr.length; i++) { + intArr[i] = Integer.parseInt(strArr[i]); + } + return intArr; + } + + // 取最值方法 + private static void MaxAndMin(List numbers) { + // 创建一个迭代器 + Iterator iterator = numbers.iterator(); + int num; + // 假设最大和最小值同为第一个元素 + int max = numbers.get(0); + int min = numbers.get(0); + while (iterator.hasNext()) { + num = iterator.next(); + max = Math.max(max, num); + min = Math.min(min, num); + } + System.out.println("最大值为:" + max + "\n" + "最小值为:" + min); + } + + // 获取平均值 + private static double getAverage(List numbers) { + double sum = 0; + for (int num : numbers) { + sum += num; + } + return sum / numbers.size(); + } + + public static void main(String[] args) { + Scanner nums; + String strNums; + Integer[] intArr; + Integer[] selectNumbers = {1, 2, 3, 4, 5, 6};//控件数组 + System.out.println("欢迎使用多功能数字处理程序!"); + + Scanner select = new Scanner(System.in); + int selectNum = 1; + while (selectNum != 6) { + System.out.println("请选择操作:"); + System.out.println("1. 取绝对值" + " " + "2. 取最值" + " " + "3. 四舍五入" + " " + "4. 生产随机数" + " " + "5. 计算平均值" + " " + "6.退出"); + selectNum = select.nextInt(); + if (!Arrays.asList(selectNumbers).contains(selectNum)) { + try { + throw new NoSuchElementException(); + } catch (NoSuchElementException e) { + System.out.println("输入无效,请重新输入。"); + selectNum = select.nextInt(); + } + } + switch (selectNum) { + case (1): + System.out.println("请输入一个数字:"); + Scanner num = new Scanner(System.in); + System.out.println("该数字的绝对值为:" + abs(num.nextDouble())); + continue; + case (2): + System.out.println("请输入一组数字,以空格分隔:"); + nums = new Scanner(System.in); + strNums = nums.nextLine(); + intArr = convertToInt(strNums); + List numbers1 = Arrays.asList(intArr); + MaxAndMin(numbers1); + continue; + case (3): + System.out.println("请输入一个数字:"); + Scanner num1 = new Scanner(System.in); + System.out.println("该数字的四舍五入值为:" + Math.round(num1.nextDouble())); + continue; + case (4): + System.out.println("请输入一个范围(例如:1-10):"); + Scanner range = new Scanner(System.in); + int min = range.nextInt(); + int max = range.nextInt(); + System.out.println("生成的随机数为:" + (int) (Math.random() * (max - min + 1)) + min); + continue; + case (5): + System.out.println("请输入一组数字,以空格分隔:"); + nums = new Scanner(System.in); + strNums = nums.nextLine(); + intArr = convertToInt(strNums); + List numbers2 = Arrays.asList(intArr); + System.out.println("该组数字的平均值为:" + getAverage(numbers2)); + continue; + case (6): + System.out.println("程序已退出。"); + break; + } + } + } +} diff --git "a/work/com/java/minxi/java_20240516/java_2302_\345\210\230\345\256\227\346\227\255_2344310210/ObjectDemo.java" "b/work/com/java/minxi/java_20240516/java_2302_\345\210\230\345\256\227\346\227\255_2344310210/ObjectDemo.java" new file mode 100644 index 0000000000000000000000000000000000000000..f7fbf0f8149241d7c4dff6100ff257bd00d6a8b8 --- /dev/null +++ "b/work/com/java/minxi/java_20240516/java_2302_\345\210\230\345\256\227\346\227\255_2344310210/ObjectDemo.java" @@ -0,0 +1,62 @@ +package com.java.minxi.java_20240516.java_2302_刘宗旭_2344310210; + +class Person { + private String name; + private Integer age; + + // 有参构造器 + public Person(String name,int age) { + this.name = name; + this.age = 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; + } + + // 重写toString方法 + @Override + public String toString() { + return this.name + " is " + this.age + " years old."; + } + + // 重写equals方法 + @Override + public boolean equals(Object obj) { + String strAge = String.valueOf(this.age); + if (obj instanceof Person) { + Person other = (Person) obj;//如果obj是Person类的实例,将其转换为Person类型 + return this.name.equals(other.name) && strAge.equals(String.valueOf(other.age)); + } + return false; + } +} + +public class ObjectDemo { + public static void main(String[] args) { + Person p = new Person("牧濑红莉栖",18); + Person p2 = new Person("稚名真由理",16); + Person p3 = new Person("牧濑红莉栖",19); + Person p4 = new Person("稚名真由理",18); + + // 测试重写后的toString方法 + System.out.println(p); + + // 测试重写后的equals方法 + System.out.println(p.equals(p2)); + System.out.println(p.equals(p3)); + System.out.println(p.equals(p4)); + } +} diff --git "a/work/com/java/minxi/java_20240516/java_2302_\345\210\230\345\256\227\346\227\255_2344310210/StringDemo.java" "b/work/com/java/minxi/java_20240516/java_2302_\345\210\230\345\256\227\346\227\255_2344310210/StringDemo.java" new file mode 100644 index 0000000000000000000000000000000000000000..de174b84db007a870b9e2d6bc3aeae65b5fb11e5 --- /dev/null +++ "b/work/com/java/minxi/java_20240516/java_2302_\345\210\230\345\256\227\346\227\255_2344310210/StringDemo.java" @@ -0,0 +1,156 @@ +package com.java.minxi.java_20240516.java_2302_刘宗旭_2344310210; + +import java.util.Arrays; + +public class StringDemo { + // 字符串连接 + public String concatString(String str1, String str2) { + return str1 + str2; + } + + //获取字符串长度 + public int getStrLength(String str) { + return str.length(); + } + + // 字符串反转 + public String reverseString(String str) { + StringBuilder sb = new StringBuilder(str); + return sb.reverse().toString(); + } + + // 字符串大小写切换 + public String switchCase(String str) { + return str.toUpperCase(); + } + + // 字符串搜索(一个字符串是否包含另一个字符串) + public boolean searchString(String str1, String str2) { + return str1.contains(str2); + } + + // 字符串替换 + public String replaceString(String str, String oldStr, String newStr) { + return str.replace(oldStr, newStr); + } + + // 字符串分割 + public String[] splitString(String str, String delimiter) { + return str.split(delimiter); + } + + // 字符串修剪 + public String trimString(String str) { + return str.trim(); + } + + // 字符串比较(忽略大小写) + public int compareStringIgnoreCase(String str1, String str2) { + return str1.compareToIgnoreCase(str2); + } + + // 提取字符串中指定范围的字符 + public String extractSubstring(String str, int startIndex, int endIndex) { + return str.substring(startIndex, endIndex); + } + + // 检查字符串的特定后缀 + public boolean checkSuffix(String str, String suffix) { + return str.endsWith(suffix); + } + + // 检查字符串的特定前缀 + public boolean checkPrefix(String str, String prefix) { + return str.startsWith(prefix); + } + + //检查字符串中字符出现次数 + public int countChar(String str, char ch) { + return str.length() - str.replace(String.valueOf(ch), "").length(); + } + + // 类型转换(字符串与数字) + public String convert(int number){ + return String.valueOf(number); + } + + // 重载:类型转换(数字与字符串) + public Integer convert(String str){ + return Integer.valueOf(str); + } + + public static void main(String[] args) { + StringDemo stringDemo = new StringDemo(); + + // 示例:字符串连接 + String str1 = "Hello "; + String str2 = " World"; + String result = stringDemo.concatString(str1, str2); + System.out.println("连接后的字符串: " + result); + + // 示例:获取字符串长度 + int length = stringDemo.getStrLength(str1); + System.out.println("字符串长度: " + length); + + // 示例:字符串反转 + String reversed = stringDemo.reverseString(str1); + System.out.println("反转后的字符串: " + reversed); + + // 示例:字符串大小写切换 + String switched = stringDemo.switchCase(str1); + System.out.println("大小写切换后的字符串: " + switched); + + // 示例:字符串查找 + String str3 = "llo"; + boolean found = stringDemo.searchString(str1, str3); + System.out.println("字符串查找结果: " + found); + + // 示例:字符串替换 + String replaced = stringDemo.replaceString(str1, "l", "L"); + System.out.println("替换后的字符串: " + replaced); + + // 示例:字符串分割 + String[] parts = stringDemo.splitString(str1, ""); + System.out.println("分割后的字符串数组: " + Arrays.toString(parts)); + + // 实例:字符串修剪 + System.out.println("原始字符串: " + str2); + String trimmed = stringDemo.trimString(str2); + System.out.println("修剪后的字符串: " + trimmed); + + // 示例:字符串比较 + int comparison = stringDemo.compareStringIgnoreCase(str1, str2); + System.out.println("字符串比较结果: " + comparison); + + // 示例:字符串截取 + String subStr = stringDemo.extractSubstring(str1, 2, 4); + System.out.println("截取后的字符串: " + subStr); + + // 示例:检查字符串后缀 + boolean hasSuffix = stringDemo.checkSuffix(str1, "lo"); + System.out.println("字符串是否以'lo'结尾: " + hasSuffix); + + // 示例:检查字符串前缀 + boolean hasPrefix = stringDemo.checkPrefix(str1, "He"); + System.out.println("字符串是否以'He'开头: " + hasPrefix); + + // 示例:统计字符出现次数 + int count = stringDemo.countChar(str1, 'l'); + System.out.println("字符'l'在字符串中出现的次数: " + count); + + // 示例:将字符串转换为整数 + int num = stringDemo.convert("123"); + System.out.println("转换后的整数: " + num); + + // 示例:将整数转换为字符串 + String numStr = stringDemo.convert(123); + System.out.println("转换后的字符串: " + numStr); + + //StringBuilder拼接 + StringBuilder sb = new StringBuilder(); + sb.append("Hello"); + sb.append(" "); + sb.append("World"); + System.out.println("拼接后的字符串: " + sb); + } +}