Kaynağa Gözat

2025年5月24日-授课代码:一维数组&二维数组&方法

WanJL 6 gün önce
ebeveyn
işleme
47b866d3cd
33 değiştirilmiş dosya ile 975 ekleme ve 1 silme
  1. 1 1
      chapter01-javaSE/20250419-Java入门/j1-java-basic/j1-java-basic.iml
  2. 31 0
      chapter01-javaSE/20250524_方法/Demo01.java
  3. 76 0
      chapter01-javaSE/20250524_方法/Demo02.java
  4. 19 0
      chapter01-javaSE/20250524_方法/Demo03.java
  5. 12 0
      chapter01-javaSE/chapter01-javaSE.iml
  6. 28 0
      chapter01-javaSE/homework/j20250517/T1.java
  7. 31 0
      chapter01-javaSE/homework/j20250517/T10.java
  8. 28 0
      chapter01-javaSE/homework/j20250517/T11.java
  9. 27 0
      chapter01-javaSE/homework/j20250517/T12.java
  10. 29 0
      chapter01-javaSE/homework/j20250517/T13.java
  11. 31 0
      chapter01-javaSE/homework/j20250517/T14.java
  12. 21 0
      chapter01-javaSE/homework/j20250517/T2.java
  13. 33 0
      chapter01-javaSE/homework/j20250517/T3.java
  14. 27 0
      chapter01-javaSE/homework/j20250517/T4.java
  15. 39 0
      chapter01-javaSE/homework/j20250517/T5.java
  16. 26 0
      chapter01-javaSE/homework/j20250517/T6.java
  17. 31 0
      chapter01-javaSE/homework/j20250517/T7.java
  18. 33 0
      chapter01-javaSE/homework/j20250517/T8.java
  19. 32 0
      chapter01-javaSE/homework/j20250517/T9.java
  20. 33 0
      chapter01-javaSE/homework/j20250517_method/T1.java
  21. 31 0
      chapter01-javaSE/homework/j20250517_method/T10.java
  22. 27 0
      chapter01-javaSE/homework/j20250517_method/T11.java
  23. 27 0
      chapter01-javaSE/homework/j20250517_method/T12.java
  24. 29 0
      chapter01-javaSE/homework/j20250517_method/T13.java
  25. 31 0
      chapter01-javaSE/homework/j20250517_method/T14.java
  26. 21 0
      chapter01-javaSE/homework/j20250517_method/T2.java
  27. 33 0
      chapter01-javaSE/homework/j20250517_method/T3.java
  28. 27 0
      chapter01-javaSE/homework/j20250517_method/T4.java
  29. 39 0
      chapter01-javaSE/homework/j20250517_method/T5.java
  30. 26 0
      chapter01-javaSE/homework/j20250517_method/T6.java
  31. 31 0
      chapter01-javaSE/homework/j20250517_method/T7.java
  32. 33 0
      chapter01-javaSE/homework/j20250517_method/T8.java
  33. 32 0
      chapter01-javaSE/homework/j20250517_method/T9.java

+ 1 - 1
chapter01-javaSE/20250419-Java入门/j1-java-basic/j1-java-basic.iml

@@ -5,7 +5,7 @@
     <content url="file://$MODULE_DIR$">
       <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
     </content>
-    <orderEntry type="jdk" jdkName="1.8" jdkType="JavaSDK" />
+    <orderEntry type="inheritedJdk" />
     <orderEntry type="sourceFolder" forTests="false" />
   </component>
 </module>

+ 31 - 0
chapter01-javaSE/20250524_方法/Demo01.java

@@ -0,0 +1,31 @@
+package com.loveCoding.j20250524_method;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title Demo01
+ * @description
+ * @create 2025/5/24
+ */
+public class Demo01 {
+    public static void main(String[] args) {
+        int[][] arr=new int[2][3];
+
+
+        arr[0]=new int[]{1,6,4,8,7,9,1,1,6,4,7};
+
+        for (int i = 0; i < arr.length; i++) {
+            for (int j = 0; j < arr[i].length; j++) {
+                System.out.print(arr[i][j]+"\t");
+            }
+            System.out.println();
+        }
+
+        //数组是一个引用类型
+        int[] arr1=new int[10];
+
+        arr1=new int[20];
+
+
+    }
+}

+ 76 - 0
chapter01-javaSE/20250524_方法/Demo02.java

@@ -0,0 +1,76 @@
+package com.loveCoding.j20250524_method;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title Demo02
+ * @description
+ * @create 2025/5/24
+ */
+public class Demo02 {
+    //我们接触的第一个方法就是main方法,我们自己定义的方法,必须和main方法处于同一级别
+    public static void main(String[] args) {
+        printHello();
+        printName("张三");
+        int sum=add(15,16);
+        System.out.println(sum);
+        String s = getHello();
+        System.out.println(s);
+    }
+    /*
+        方法的格式:
+
+        修饰符 返回值类型 方法名(形式参数类型 形参名){
+
+
+            return 返回值;
+        }
+     */
+    //方法的定义-1
+    // -无返回值,所以返回值类型写void,
+    // -无参数,所以参数位置不写内容
+    /*
+        修饰符 返回值类型 方法名(){
+            方法体
+        }
+     */
+    public static void printHello(){
+        System.out.println("Hello");
+    }
+
+    //方法的定义-2
+    // -无返回值,所以返回值类型写void,
+    // -有参数
+    /*
+        修饰符 返回值类型 方法名(参数类型 参数名){
+            方法体
+        }
+     */
+    public static void printName(String name){
+        System.out.println(name);
+    }
+    //方法的定义-3
+    // -有返回值
+    // -有参数
+    /*
+        修饰符 返回值类型 方法名(参数类型 参数名){
+            方法体
+            return 返回值
+        }
+     */
+    public static int add(int a,int b){
+        return a+b;
+    }
+    //方法的定义-4
+    // -有返回值
+    // -无参数
+    /*
+        修饰符 返回值类型 方法名(参数类型 参数名){
+            方法体
+            return 返回值
+        }
+     */
+    public static String getHello(){
+        return "hello";
+    }
+}

+ 19 - 0
chapter01-javaSE/20250524_方法/Demo03.java

@@ -0,0 +1,19 @@
+package com.loveCoding.j20250524_method;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title Demo03
+ * @description
+ * @create 2025/5/24
+ */
+public class Demo03 {
+    //创建一个减3的方法,无论谁调用了这个方法,传入了多大的数值,方法的运行结果都是传入的数-3
+    public static int m(int a){
+        return a-3;
+    }
+    public static void main(String[] args) {
+        int m = m(6);
+        System.out.println(m);
+    }
+}

+ 12 - 0
chapter01-javaSE/chapter01-javaSE.iml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="JAVA_MODULE" version="4">
+  <component name="NewModuleRootManager" inherit-compiler-output="true">
+    <exclude-output />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/20250426-Java基础语法" isTestSource="false" packagePrefix="com.loveCoding.j20250426_java_basic" />
+      <sourceFolder url="file://$MODULE_DIR$/20250517_Java一维数组" isTestSource="false" packagePrefix="com.loveCoding.j20250517_java_array" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>

+ 28 - 0
chapter01-javaSE/homework/j20250517/T1.java

@@ -0,0 +1,28 @@
+package com.loveCoding.homework.j20250517;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title T1
+ * @description 1. 统计数组元素类型
+ * 要求:统计数组中正数、负数和零的个数
+ * 示例输入:`{5, -2, 0, 3, -1, 0, 7}`
+ * 示例输出:正数3个,负数2个,零2个
+ * @create 2025/5/24
+ */
+public class T1 {
+    public static void main(String[] args) {
+        int[] arr = {5, -2, 0, 3, -1, 0, 7};
+        int a=0,b=0,c=0;
+        for (int i = 0; i < arr.length; i++) {
+            if (arr[i] > 0) {
+                a++;
+            } else if (arr[i] < 0) {
+                b++;
+            } else{
+                c++;
+            }
+        }
+        System.out.println("正数"+a+"个,负数"+b+"个,零"+c+"个");
+    }
+}

+ 31 - 0
chapter01-javaSE/homework/j20250517/T10.java

@@ -0,0 +1,31 @@
+package com.loveCoding.homework.j20250517;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title T10
+ * @description
+ * **10. 统计最长连续递增序列**
+ * 要求:找出数组中最长的连续递增子数组长度
+ * 示例输入:`{1,3,5,4,7,8,9}`
+ * 示例输出:4(对应子数组7,8,9或4,7,8,9)
+ * @create 2025/5/24
+ */
+public class T10 {
+    public static void main(String[] args) {
+        int[] arr={1,3,5,6,7,1,2,3,4,7,8,9,4,7,8,9};
+        int t=1;    //是临时记录序列长度,从1开始。
+        int count=0;    //记录最长的那个序列的长度,从0开始
+        for (int i = 1; i < arr.length; i++) {
+            if (arr[i]>arr[i-1]){
+                t++;
+            }else {
+                if(t>count){
+                    count=t;
+                }
+                t=1;
+            }
+        }
+        System.out.println(count);
+    }
+}

+ 28 - 0
chapter01-javaSE/homework/j20250517/T11.java

@@ -0,0 +1,28 @@
+package com.loveCoding.homework.j20250517;
+
+import java.util.Arrays;
+import java.util.HashSet;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title T11
+ * @description
+ * **11. 数组去重**
+ * 要求:创建新数组,保留原数组元素的首次出现顺序
+ * 示例输入:`{2,5,2,3,5,8}`
+ * 示例输出:`2,5,3,8`
+ * @create 2025/5/24
+ */
+public class T11 {
+    public static void main(String[] args) {
+        int[] arr={2,5,2,3,5,8};
+
+        HashSet s=new HashSet();
+        for (int i = 0; i < arr.length; i++) {
+            s.add(arr[i]);
+        }
+        System.out.println(s.toString());
+
+    }
+}

+ 27 - 0
chapter01-javaSE/homework/j20250517/T12.java

@@ -0,0 +1,27 @@
+package com.loveCoding.homework.j20250517;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title T12
+ * @description
+ * **12. 寻找缺失数字**
+ * 要求:在包含1~n的数组中找出缺失的那个数字(数组长度为n-1)
+ * 示例输入:`{3,1,4,5}`(n=5)
+ * 示例输出:2
+ * @create 2025/5/24
+ */
+public class T12 {
+    public static void main(String[] args) {
+        int[] arr={3,1,4,5};
+        int sum=0;
+        for (int i = 0; i < arr.length; i++) {
+            sum+=arr[i];
+        }
+        int s2=0;
+        for (int i = 1; i <= arr.length+1; i++) {
+            s2+=i;
+        }
+        System.out.println(s2-sum);
+    }
+}

+ 29 - 0
chapter01-javaSE/homework/j20250517/T13.java

@@ -0,0 +1,29 @@
+package com.loveCoding.homework.j20250517;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title T13
+ * @description
+ * **13. 数组右移k位**
+ * 要求:将数组元素向右循环移动k个位置
+ * 示例输入:`{1,2,3,4,5}`,k=2
+ * 示例输出:`4,5,1,2,3`(右移2位后结果)
+ * @create 2025/5/24
+ */
+public class T13 {
+    public static void main(String[] args) {
+        int[] arr={1,2,3,4,5,6,7,8,9,10};
+        int k=5;
+        int[] tArr=new int[arr.length];
+        for (int i = 0; i < arr.length-k; i++) {
+            tArr[i+k]=arr[i];
+        }
+        for (int i = 0; i < k; i++) {
+            tArr[i]=arr[arr.length-k+i];
+        }
+        for (int i = 0; i < tArr.length; i++) {
+            System.out.print(tArr[i]+" ");
+        }
+    }
+}

+ 31 - 0
chapter01-javaSE/homework/j20250517/T14.java

@@ -0,0 +1,31 @@
+package com.loveCoding.homework.j20250517;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title T14
+ * @description
+ * **14. 寻找第一个重复元素**
+ * 要求:找出数组中第一个重复出现的元素(第二个重复的位置)
+ * 示例输入:`{3, 7, 2, 5, 7, 3}`
+ * 示例输出:7(第一个重复的是7,在索引1和4重复)
+ * @create 2025/5/24
+ */
+public class T14 {
+    public static void main(String[] args) {
+        int[] arr={3, 7, 2, 2, 7, 3};
+        int nJ=arr.length;
+        int nI=0;
+        for (int i = 0; i < arr.length; i++) {
+            for (int j = i+1; j < arr.length; j++) {
+                if (arr[i]==arr[j]){    //成立
+                    if(nJ>j){
+                        nJ=j;
+                        nI=i;
+                    }
+                }
+            }
+        }
+        System.out.println(arr[nJ]+"(第一个重复的是"+arr[nJ]+",在索引"+nI+"和"+nJ+"重复)");
+    }
+}

+ 21 - 0
chapter01-javaSE/homework/j20250517/T2.java

@@ -0,0 +1,21 @@
+package com.loveCoding.homework.j20250517;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title T2
+ * @description
+ * **2. 逆序输出数组**
+ * 要求:将数组元素按逆序输出(不需要真正修改数组)
+ * 示例输入:`{9, 6, 3, 7, 2}`
+ * 示例输出:`2 7 3 6 9`
+ * @create 2025/5/24
+ */
+public class T2 {
+    public static void main(String[] args) {
+        int[] arr={9, 6, 3, 7, 2};
+        for (int i = arr.length-1; i >=0 ; i--) {
+            System.out.print(arr[i]+"\t");
+        }
+    }
+}

+ 33 - 0
chapter01-javaSE/homework/j20250517/T3.java

@@ -0,0 +1,33 @@
+package com.loveCoding.homework.j20250517;
+
+import java.util.Scanner;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title T3
+ * @description
+ * **3. 元素查找器**
+ * 要求:输入一个数字,判断它是否存在于数组中,并统计出现次数
+ * 示例输入:数组`{2,5,3,2,8,2}`,查找数字2
+ * 示例输出:存在,出现3次
+ * @create 2025/5/24
+ */
+public class T3 {
+    public static void main(String[] args) {
+        Scanner sc=new Scanner(System.in);
+        int[] arr={2,5,3,2,8,2};
+        int count=0;
+        int n=sc.nextInt();
+        for (int i = 0; i < arr.length; i++) {
+            if (n==arr[i]){
+                count++;
+            }
+        }
+        if (count>0){
+            System.out.println("存在,出现"+count+"次");
+        }else {
+            System.out.println("不存在");
+        }
+    }
+}

+ 27 - 0
chapter01-javaSE/homework/j20250517/T4.java

@@ -0,0 +1,27 @@
+package com.loveCoding.homework.j20250517;
+
+import java.util.Arrays;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title T4
+ * @description
+ * **4. 数组左移操作**
+ * 要求:实现数组元素左移一位(首元素移到末尾)
+ * 示例输入:`{1,2,3,4,5}`
+ * 示例输出:`2 3 4 5 1`
+ * @create 2025/5/24
+ */
+public class T4 {
+    public static void main(String[] args) {
+        int[] arr={1,2,3,4,5};
+        int t=arr[0];
+        for (int i = 1; i < arr.length; i++) {
+            arr[i-1]=arr[i];
+        }
+        arr[arr.length-1]=t;
+
+        System.out.println(Arrays.toString(arr));
+    }
+}

+ 39 - 0
chapter01-javaSE/homework/j20250517/T5.java

@@ -0,0 +1,39 @@
+package com.loveCoding.homework.j20250517;
+
+import java.util.Arrays;
+import java.util.Scanner;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title T5
+ * @description
+ * **5. 删除特定元素**
+ * 要求:新建一个数组,删除原数组中所有指定的元素
+ * 示例输入:原数组`{3,8,2,5,8,9}`,删除元素8
+ * 示例输出:新数组`3 2 5 9`
+ * @create 2025/5/24
+ */
+public class T5 {
+    public static void main(String[] args) {
+        int[] arr={8,8,3,8,3,3};
+        Scanner sc=new Scanner(System.in);
+        int n=sc.nextInt();
+        int c=0; //记录要删除的元素有几个
+        for (int i = 0; i < arr.length; i++) {
+            if (n!=arr[i])
+                c++;
+        }
+
+        int[] newArr=new int[c];    //为了指定新的数组的长度
+
+        for (int i = 0,j=0; i <arr.length; i++) {
+            if (n!=arr[i]){
+                newArr[j]=arr[i];
+                j++;
+            }
+        }
+        System.out.println(Arrays.toString(newArr));
+
+    }
+}

+ 26 - 0
chapter01-javaSE/homework/j20250517/T6.java

@@ -0,0 +1,26 @@
+package com.loveCoding.homework.j20250517;
+
+import java.util.Arrays;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title T7
+ * @description **6. 合并两个数组**
+ * 要求:将两个等长的数组合并为一个新数组,交替存储元素
+ * 示例输入:`{1,3,5}` 和 `{2,4,6}`
+ * 示例输出:`1 2 3 4 5 6`
+ * @create 2025/5/24
+ */
+public class T6 {
+    public static void main(String[] args) {
+        int[] subArr1 = {1, 3, 5};
+        int[] subArr2 = {2, 4, 6};
+        int[] arr = new int[subArr1.length + subArr2.length];
+        for (int i = 0; i < subArr1.length; i++) {
+            arr[2*i] =subArr1[i];
+            arr[2*i+1] =subArr2[i];
+        }
+        System.out.println(Arrays.toString(arr));
+    }
+}

+ 31 - 0
chapter01-javaSE/homework/j20250517/T7.java

@@ -0,0 +1,31 @@
+package com.loveCoding.homework.j20250517;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title T7
+ * @description
+ * **7. 寻找第二大的数**
+ * 要求:找出数组中第二大的元素
+ * 示例输入:`{7,3,9,2,9,4}`
+ * 示例输出:7
+ * @create 2025/5/24
+ */
+public class T7 {
+    public static void main(String[] args) {
+        int[] arr={7,3,9,2,9,4};
+        int max=arr[0];
+        int max2=arr[0];
+        for (int i = 0; i < arr.length; i++) {
+            if (max<arr[i]){
+                max=arr[i];
+            }
+        }
+        for (int i = 0; i < arr.length; i++) {
+            if (max2<arr[i]&&arr[i]!=max){
+                max2=arr[i];
+            }
+        }
+        System.out.println(max2);
+    }
+}

+ 33 - 0
chapter01-javaSE/homework/j20250517/T8.java

@@ -0,0 +1,33 @@
+package com.loveCoding.homework.j20250517;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title T8
+ * @description
+ * **8. 数组对称判断**
+ * 要求:判断数组是否首尾对称
+ * 示例输入1:`{1,3,5,3,1}` → 输出:对称
+ * 示例输入2:`{2,4,4,2}` → 输出:对称
+ * 示例输入3:`{1,2,3,4}` → 输出:不对称
+ * @create 2025/5/24
+ */
+public class T8 {
+    public static void main(String[] args) {
+        int[] arr={1,2,3,4};
+        boolean b=false;
+        for (int i = 0; i < arr.length/2; i++) {
+            if (arr[i]==arr[arr.length-1-i]){   //判断收尾元素是否相等
+                b=true; //相等则为b赋值为true
+            }else {//否则赋值false
+                b=false;
+                break;  //只要有一次赋值是false,就说明已经不对称了,后面的就不需要继续循环了。直接跳出循环。
+            }
+        }
+        if (b){
+            System.out.println("对称");
+        }else {
+            System.out.println("不对称");
+        }
+    }
+}

+ 32 - 0
chapter01-javaSE/homework/j20250517/T9.java

@@ -0,0 +1,32 @@
+package com.loveCoding.homework.j20250517;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title T9
+ * @description **9. 数字频率统计**
+ * 要求:统计数组中每个数字出现的次数(假设数字范围0-9)
+ * 示例输入:`{2,5,3,2,8,2}`
+ * 示例输出:
+ * `2出现3次`
+ * `3出现1次`
+ * `5出现1次`
+ * `8出现1次`
+ * @create 2025/5/24
+ */
+public class T9 {
+    public static void main(String[] args) {
+        int[] arr = {2, 5, 3, 2, 8, 2, 2};
+        for (int i = 0; i < arr.length; i++) {
+            int count = 0;
+            for (int j = i; j < arr.length; j++) {
+                if (arr[i] == arr[j]) {
+                    count++;
+                }
+            }
+
+            System.out.println(arr[i] + "出现" + count + "次");
+        }
+
+    }
+}

+ 33 - 0
chapter01-javaSE/homework/j20250517_method/T1.java

@@ -0,0 +1,33 @@
+package com.loveCoding.homework.j20250517_method;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title T1
+ * @description 1. 统计数组元素类型
+ * 要求:统计数组中正数、负数和零的个数
+ * 示例输入:`{5, -2, 0, 3, -1, 0, 7}`
+ * 示例输出:正数3个,负数2个,零2个
+ * @create 2025/5/24
+ */
+public class T1 {
+    //有参数但是无返回值的方法
+    public static void method(int[] arr){
+        int a=0,b=0,c=0;
+        for (int i = 0; i < arr.length; i++) {
+            if (arr[i] > 0) {
+                a++;
+            } else if (arr[i] < 0) {
+                b++;
+            } else{
+                c++;
+            }
+        }
+        System.out.println("正数"+a+"个,负数"+b+"个,零"+c+"个");
+    }
+
+    public static void main(String[] args) {
+        int[] arr = {5, -2, 0, 3, -1, 0, 7};
+        method(arr);
+    }
+}

+ 31 - 0
chapter01-javaSE/homework/j20250517_method/T10.java

@@ -0,0 +1,31 @@
+package com.loveCoding.homework.j20250517_method;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title T10
+ * @description
+ * **10. 统计最长连续递增序列**
+ * 要求:找出数组中最长的连续递增子数组长度
+ * 示例输入:`{1,3,5,4,7,8,9}`
+ * 示例输出:4(对应子数组7,8,9或4,7,8,9)
+ * @create 2025/5/24
+ */
+public class T10 {
+    public static void main(String[] args) {
+        int[] arr={1,3,5,6,7,1,2,3,4,7,8,9,4,7,8,9};
+        int t=1;    //是临时记录序列长度,从1开始。
+        int count=0;    //记录最长的那个序列的长度,从0开始
+        for (int i = 1; i < arr.length; i++) {
+            if (arr[i]>arr[i-1]){
+                t++;
+            }else {
+                if(t>count){
+                    count=t;
+                }
+                t=1;
+            }
+        }
+        System.out.println(count);
+    }
+}

+ 27 - 0
chapter01-javaSE/homework/j20250517_method/T11.java

@@ -0,0 +1,27 @@
+package com.loveCoding.homework.j20250517_method;
+
+import java.util.HashSet;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title T11
+ * @description
+ * **11. 数组去重**
+ * 要求:创建新数组,保留原数组元素的首次出现顺序
+ * 示例输入:`{2,5,2,3,5,8}`
+ * 示例输出:`2,5,3,8`
+ * @create 2025/5/24
+ */
+public class T11 {
+    public static void main(String[] args) {
+        int[] arr={2,5,2,3,5,8};
+
+        HashSet s=new HashSet();
+        for (int i = 0; i < arr.length; i++) {
+            s.add(arr[i]);
+        }
+        System.out.println(s.toString());
+
+    }
+}

+ 27 - 0
chapter01-javaSE/homework/j20250517_method/T12.java

@@ -0,0 +1,27 @@
+package com.loveCoding.homework.j20250517_method;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title T12
+ * @description
+ * **12. 寻找缺失数字**
+ * 要求:在包含1~n的数组中找出缺失的那个数字(数组长度为n-1)
+ * 示例输入:`{3,1,4,5}`(n=5)
+ * 示例输出:2
+ * @create 2025/5/24
+ */
+public class T12 {
+    public static void main(String[] args) {
+        int[] arr={3,1,4,5};
+        int sum=0;
+        for (int i = 0; i < arr.length; i++) {
+            sum+=arr[i];
+        }
+        int s2=0;
+        for (int i = 1; i <= arr.length+1; i++) {
+            s2+=i;
+        }
+        System.out.println(s2-sum);
+    }
+}

+ 29 - 0
chapter01-javaSE/homework/j20250517_method/T13.java

@@ -0,0 +1,29 @@
+package com.loveCoding.homework.j20250517_method;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title T13
+ * @description
+ * **13. 数组右移k位**
+ * 要求:将数组元素向右循环移动k个位置
+ * 示例输入:`{1,2,3,4,5}`,k=2
+ * 示例输出:`4,5,1,2,3`(右移2位后结果)
+ * @create 2025/5/24
+ */
+public class T13 {
+    public static void main(String[] args) {
+        int[] arr={1,2,3,4,5,6,7,8,9,10};
+        int k=5;
+        int[] tArr=new int[arr.length];
+        for (int i = 0; i < arr.length-k; i++) {
+            tArr[i+k]=arr[i];
+        }
+        for (int i = 0; i < k; i++) {
+            tArr[i]=arr[arr.length-k+i];
+        }
+        for (int i = 0; i < tArr.length; i++) {
+            System.out.print(tArr[i]+" ");
+        }
+    }
+}

+ 31 - 0
chapter01-javaSE/homework/j20250517_method/T14.java

@@ -0,0 +1,31 @@
+package com.loveCoding.homework.j20250517_method;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title T14
+ * @description
+ * **14. 寻找第一个重复元素**
+ * 要求:找出数组中第一个重复出现的元素(第二个重复的位置)
+ * 示例输入:`{3, 7, 2, 5, 7, 3}`
+ * 示例输出:7(第一个重复的是7,在索引1和4重复)
+ * @create 2025/5/24
+ */
+public class T14 {
+    public static void main(String[] args) {
+        int[] arr={3, 7, 2, 2, 7, 3};
+        int nJ=arr.length;
+        int nI=0;
+        for (int i = 0; i < arr.length; i++) {
+            for (int j = i+1; j < arr.length; j++) {
+                if (arr[i]==arr[j]){    //成立
+                    if(nJ>j){
+                        nJ=j;
+                        nI=i;
+                    }
+                }
+            }
+        }
+        System.out.println(arr[nJ]+"(第一个重复的是"+arr[nJ]+",在索引"+nI+"和"+nJ+"重复)");
+    }
+}

+ 21 - 0
chapter01-javaSE/homework/j20250517_method/T2.java

@@ -0,0 +1,21 @@
+package com.loveCoding.homework.j20250517_method;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title T2
+ * @description
+ * **2. 逆序输出数组**
+ * 要求:将数组元素按逆序输出(不需要真正修改数组)
+ * 示例输入:`{9, 6, 3, 7, 2}`
+ * 示例输出:`2 7 3 6 9`
+ * @create 2025/5/24
+ */
+public class T2 {
+    public static void main(String[] args) {
+        int[] arr={9, 6, 3, 7, 2};
+        for (int i = arr.length-1; i >=0 ; i--) {
+            System.out.print(arr[i]+"\t");
+        }
+    }
+}

+ 33 - 0
chapter01-javaSE/homework/j20250517_method/T3.java

@@ -0,0 +1,33 @@
+package com.loveCoding.homework.j20250517_method;
+
+import java.util.Scanner;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title T3
+ * @description
+ * **3. 元素查找器**
+ * 要求:输入一个数字,判断它是否存在于数组中,并统计出现次数
+ * 示例输入:数组`{2,5,3,2,8,2}`,查找数字2
+ * 示例输出:存在,出现3次
+ * @create 2025/5/24
+ */
+public class T3 {
+    public static void main(String[] args) {
+        Scanner sc=new Scanner(System.in);
+        int[] arr={2,5,3,2,8,2};
+        int count=0;
+        int n=sc.nextInt();
+        for (int i = 0; i < arr.length; i++) {
+            if (n==arr[i]){
+                count++;
+            }
+        }
+        if (count>0){
+            System.out.println("存在,出现"+count+"次");
+        }else {
+            System.out.println("不存在");
+        }
+    }
+}

+ 27 - 0
chapter01-javaSE/homework/j20250517_method/T4.java

@@ -0,0 +1,27 @@
+package com.loveCoding.homework.j20250517_method;
+
+import java.util.Arrays;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title T4
+ * @description
+ * **4. 数组左移操作**
+ * 要求:实现数组元素左移一位(首元素移到末尾)
+ * 示例输入:`{1,2,3,4,5}`
+ * 示例输出:`2 3 4 5 1`
+ * @create 2025/5/24
+ */
+public class T4 {
+    public static void main(String[] args) {
+        int[] arr={1,2,3,4,5};
+        int t=arr[0];
+        for (int i = 1; i < arr.length; i++) {
+            arr[i-1]=arr[i];
+        }
+        arr[arr.length-1]=t;
+
+        System.out.println(Arrays.toString(arr));
+    }
+}

+ 39 - 0
chapter01-javaSE/homework/j20250517_method/T5.java

@@ -0,0 +1,39 @@
+package com.loveCoding.homework.j20250517_method;
+
+import java.util.Arrays;
+import java.util.Scanner;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title T5
+ * @description
+ * **5. 删除特定元素**
+ * 要求:新建一个数组,删除原数组中所有指定的元素
+ * 示例输入:原数组`{3,8,2,5,8,9}`,删除元素8
+ * 示例输出:新数组`3 2 5 9`
+ * @create 2025/5/24
+ */
+public class T5 {
+    public static void main(String[] args) {
+        int[] arr={8,8,3,8,3,3};
+        Scanner sc=new Scanner(System.in);
+        int n=sc.nextInt();
+        int c=0; //记录要删除的元素有几个
+        for (int i = 0; i < arr.length; i++) {
+            if (n!=arr[i])
+                c++;
+        }
+
+        int[] newArr=new int[c];    //为了指定新的数组的长度
+
+        for (int i = 0,j=0; i <arr.length; i++) {
+            if (n!=arr[i]){
+                newArr[j]=arr[i];
+                j++;
+            }
+        }
+        System.out.println(Arrays.toString(newArr));
+
+    }
+}

+ 26 - 0
chapter01-javaSE/homework/j20250517_method/T6.java

@@ -0,0 +1,26 @@
+package com.loveCoding.homework.j20250517_method;
+
+import java.util.Arrays;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title T7
+ * @description **6. 合并两个数组**
+ * 要求:将两个等长的数组合并为一个新数组,交替存储元素
+ * 示例输入:`{1,3,5}` 和 `{2,4,6}`
+ * 示例输出:`1 2 3 4 5 6`
+ * @create 2025/5/24
+ */
+public class T6 {
+    public static void main(String[] args) {
+        int[] subArr1 = {1, 3, 5};
+        int[] subArr2 = {2, 4, 6};
+        int[] arr = new int[subArr1.length + subArr2.length];
+        for (int i = 0; i < subArr1.length; i++) {
+            arr[2*i] =subArr1[i];
+            arr[2*i+1] =subArr2[i];
+        }
+        System.out.println(Arrays.toString(arr));
+    }
+}

+ 31 - 0
chapter01-javaSE/homework/j20250517_method/T7.java

@@ -0,0 +1,31 @@
+package com.loveCoding.homework.j20250517_method;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title T7
+ * @description
+ * **7. 寻找第二大的数**
+ * 要求:找出数组中第二大的元素
+ * 示例输入:`{7,3,9,2,9,4}`
+ * 示例输出:7
+ * @create 2025/5/24
+ */
+public class T7 {
+    public static void main(String[] args) {
+        int[] arr={7,3,9,2,9,4};
+        int max=arr[0];
+        int max2=arr[0];
+        for (int i = 0; i < arr.length; i++) {
+            if (max<arr[i]){
+                max=arr[i];
+            }
+        }
+        for (int i = 0; i < arr.length; i++) {
+            if (max2<arr[i]&&arr[i]!=max){
+                max2=arr[i];
+            }
+        }
+        System.out.println(max2);
+    }
+}

+ 33 - 0
chapter01-javaSE/homework/j20250517_method/T8.java

@@ -0,0 +1,33 @@
+package com.loveCoding.homework.j20250517_method;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title T8
+ * @description
+ * **8. 数组对称判断**
+ * 要求:判断数组是否首尾对称
+ * 示例输入1:`{1,3,5,3,1}` → 输出:对称
+ * 示例输入2:`{2,4,4,2}` → 输出:对称
+ * 示例输入3:`{1,2,3,4}` → 输出:不对称
+ * @create 2025/5/24
+ */
+public class T8 {
+    public static void main(String[] args) {
+        int[] arr={1,2,3,4};
+        boolean b=false;
+        for (int i = 0; i < arr.length/2; i++) {
+            if (arr[i]==arr[arr.length-1-i]){   //判断收尾元素是否相等
+                b=true; //相等则为b赋值为true
+            }else {//否则赋值false
+                b=false;
+                break;  //只要有一次赋值是false,就说明已经不对称了,后面的就不需要继续循环了。直接跳出循环。
+            }
+        }
+        if (b){
+            System.out.println("对称");
+        }else {
+            System.out.println("不对称");
+        }
+    }
+}

+ 32 - 0
chapter01-javaSE/homework/j20250517_method/T9.java

@@ -0,0 +1,32 @@
+package com.loveCoding.homework.j20250517_method;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title T9
+ * @description **9. 数字频率统计**
+ * 要求:统计数组中每个数字出现的次数(假设数字范围0-9)
+ * 示例输入:`{2,5,3,2,8,2}`
+ * 示例输出:
+ * `2出现3次`
+ * `3出现1次`
+ * `5出现1次`
+ * `8出现1次`
+ * @create 2025/5/24
+ */
+public class T9 {
+    public static void main(String[] args) {
+        int[] arr = {2, 5, 3, 2, 8, 2, 2};
+        for (int i = 0; i < arr.length; i++) {
+            int count = 0;
+            for (int j = i; j < arr.length; j++) {
+                if (arr[i] == arr[j]) {
+                    count++;
+                }
+            }
+
+            System.out.println(arr[i] + "出现" + count + "次");
+        }
+
+    }
+}