10
0

2 Коммитууд b6f84a4566 ... 47b866d3cd

Эзэн SHA1 Мессеж Огноо
  WanJL 47b866d3cd 2025年5月24日-授课代码:一维数组&二维数组&方法 3 сар өмнө
  WanJL 6b7a3ad220 2025年5月17日-授课代码:Java一维数组 3 сар өмнө
41 өөрчлөгдсөн 1191 нэмэгдсэн , 1 устгасан
  1. 1 1
      chapter01-javaSE/20250419-Java入门/j1-java-basic/j1-java-basic.iml
  2. 38 0
      chapter01-javaSE/20250517_Java一维数组/Demo01.java
  3. 24 0
      chapter01-javaSE/20250517_Java一维数组/Demo02.java
  4. 21 0
      chapter01-javaSE/20250517_Java一维数组/Demo03.java
  5. 17 0
      chapter01-javaSE/20250517_Java一维数组/Demo04.java
  6. 21 0
      chapter01-javaSE/20250517_Java一维数组/Demo05.java
  7. 24 0
      chapter01-javaSE/20250517_Java一维数组/Demo06.java
  8. 27 0
      chapter01-javaSE/20250517_Java一维数组/Demo07.java
  9. 44 0
      chapter01-javaSE/20250517_Java一维数组/Demo08.java
  10. 31 0
      chapter01-javaSE/20250524_方法/Demo01.java
  11. 76 0
      chapter01-javaSE/20250524_方法/Demo02.java
  12. 19 0
      chapter01-javaSE/20250524_方法/Demo03.java
  13. 12 0
      chapter01-javaSE/chapter01-javaSE.iml
  14. 28 0
      chapter01-javaSE/homework/j20250517/T1.java
  15. 31 0
      chapter01-javaSE/homework/j20250517/T10.java
  16. 28 0
      chapter01-javaSE/homework/j20250517/T11.java
  17. 27 0
      chapter01-javaSE/homework/j20250517/T12.java
  18. 29 0
      chapter01-javaSE/homework/j20250517/T13.java
  19. 31 0
      chapter01-javaSE/homework/j20250517/T14.java
  20. 21 0
      chapter01-javaSE/homework/j20250517/T2.java
  21. 33 0
      chapter01-javaSE/homework/j20250517/T3.java
  22. 27 0
      chapter01-javaSE/homework/j20250517/T4.java
  23. 39 0
      chapter01-javaSE/homework/j20250517/T5.java
  24. 26 0
      chapter01-javaSE/homework/j20250517/T6.java
  25. 31 0
      chapter01-javaSE/homework/j20250517/T7.java
  26. 33 0
      chapter01-javaSE/homework/j20250517/T8.java
  27. 32 0
      chapter01-javaSE/homework/j20250517/T9.java
  28. 33 0
      chapter01-javaSE/homework/j20250517_method/T1.java
  29. 31 0
      chapter01-javaSE/homework/j20250517_method/T10.java
  30. 27 0
      chapter01-javaSE/homework/j20250517_method/T11.java
  31. 27 0
      chapter01-javaSE/homework/j20250517_method/T12.java
  32. 29 0
      chapter01-javaSE/homework/j20250517_method/T13.java
  33. 31 0
      chapter01-javaSE/homework/j20250517_method/T14.java
  34. 21 0
      chapter01-javaSE/homework/j20250517_method/T2.java
  35. 33 0
      chapter01-javaSE/homework/j20250517_method/T3.java
  36. 27 0
      chapter01-javaSE/homework/j20250517_method/T4.java
  37. 39 0
      chapter01-javaSE/homework/j20250517_method/T5.java
  38. 26 0
      chapter01-javaSE/homework/j20250517_method/T6.java
  39. 31 0
      chapter01-javaSE/homework/j20250517_method/T7.java
  40. 33 0
      chapter01-javaSE/homework/j20250517_method/T8.java
  41. 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>

+ 38 - 0
chapter01-javaSE/20250517_Java一维数组/Demo01.java

@@ -0,0 +1,38 @@
+package com.loveCoding.j20250517_java_array;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title Demo01
+ * @description 数组的创建和定义
+ * @create 2025/5/17
+ */
+public class Demo01 {
+    public static void main(String[] args) {
+        //声明数组...
+        //数组类型[] 数组名;
+        int[] arr;
+        //数组类型 数组名[];
+        int arr1[];
+        //数组类型 []数组名;
+        int []arr2;
+
+        //对数组进行初始化
+        //1、动态初始化:在初始化的时候先指定数组的长度,让计算机在内存中开辟指定长度的空间。
+        //后续我们再动态的向空间赋值
+        arr=new int[10];
+
+        //2、静态初始化:在初始化的时候先指定数组中要存的数组元素。然计算机自己算内存中存了多少元素。
+        arr=new int[]{6,3,7,81,4,6,9};
+
+        int arr3[]={1,3,6,4,8,4,6,9,1,3};//属于静态初始化的简写方式
+
+
+        //对数组中的元素进行赋值:
+        arr[0]=6;
+
+        //获取数组的元素
+        int t=arr[0];
+        System.out.println(t);
+    }
+}

+ 24 - 0
chapter01-javaSE/20250517_Java一维数组/Demo02.java

@@ -0,0 +1,24 @@
+package com.loveCoding.j20250517_java_array;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title Demo02
+ * @description
+ * @create 2025/5/17
+ */
+public class Demo02 {
+    public static void main(String[] args) {
+        int arr[]={1,3,6,4,8,4,6,9,1,3};
+        //数组是在内存中开辟的连续的内存空间
+        //数组中每个元素都对应一个索引值,
+        //数组索引值从0开始到数组长度-1结束。
+
+        //获取数组的长度:数组.length
+
+        //使用for循环遍历数组
+        for (int i = 0; i < arr.length; i++) {
+            System.out.println(arr[i]);
+        }
+    }
+}

+ 21 - 0
chapter01-javaSE/20250517_Java一维数组/Demo03.java

@@ -0,0 +1,21 @@
+package com.loveCoding.j20250517_java_array;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title Demo03
+ * @description
+ * @create 2025/5/17
+ */
+public class Demo03 {
+    public static void main(String[] args) {
+        int[] arr=new int[3];
+        arr[0]=16;
+        arr[1]=3;
+        arr[2]=7;
+        System.out.println(arr[0]);
+        System.out.println(arr[1]);
+        System.out.println(arr[2]);
+        System.out.println(arr);
+    }
+}

+ 17 - 0
chapter01-javaSE/20250517_Java一维数组/Demo04.java

@@ -0,0 +1,17 @@
+package com.loveCoding.j20250517_java_array;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title Demo04
+ * @description 空指针异常 数组下标越界异常
+ * @create 2025/5/17
+ */
+public class Demo04 {
+    public static void main(String[] args) {
+        int[] arr=null;
+        System.out.println(arr[3]); //空指针异常
+        int[] arr1=new int[2];
+        System.out.println(arr1[3]);    //数组下标越界异常
+    }
+}

+ 21 - 0
chapter01-javaSE/20250517_Java一维数组/Demo05.java

@@ -0,0 +1,21 @@
+package com.loveCoding.j20250517_java_array;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title Demo05
+ * @description 数组获取最大值:从数组的所有元素中找到最大值
+ * @create 2025/5/17
+ */
+public class Demo05 {
+    public static void main(String[] args) {
+        int[] arr={15,6,4,163,49,8,1,68,49};
+        int max=0;
+        for (int i = 0; i < arr.length; i++) {  //遍历数组
+            if(arr[i]>max){ //判断如果一个数组元素大于最大值
+                max=arr[i];//就把这个元素赋值给max
+            }
+        }
+        System.out.println("数组中最大的元素是:"+max);
+    }
+}

+ 24 - 0
chapter01-javaSE/20250517_Java一维数组/Demo06.java

@@ -0,0 +1,24 @@
+package com.loveCoding.j20250517_java_array;
+
+import java.util.Scanner;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title Demo06
+ * @description 数组元素求和:键盘录入5个整数,存储到数组中,并对数组求和
+ * @create 2025/5/17
+ */
+public class Demo06 {
+    public static void main(String[] args) {
+        int[] arr=new int[5];   //定义一个长度为5的数组,动态初始化,不先赋值元素
+        Scanner sc=new Scanner(System.in);  //创建键盘输入对象Scanner
+        int sum=0;//定义一个用来存元素和的变量
+        for (int i = 0; i < arr.length; i++) {  //循环遍历。
+            System.out.println("请输入第"+(i+1)+"个元素:");
+            int v=sc.nextInt();//输入整数
+            sum+=v;//把整数累加到sum中
+        }
+        System.out.println("数组的和为:"+sum);
+    }
+}

+ 27 - 0
chapter01-javaSE/20250517_Java一维数组/Demo07.java

@@ -0,0 +1,27 @@
+package com.loveCoding.j20250517_java_array;
+
+import java.util.Scanner;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title Demo07
+ * @description 数组的基本查找:
+ * 已知一个数组 arr = {19, 28, 37, 46, 50};
+ * 键盘录入一个数据,查找该数据在数组中的索引,并在控制台输出找到的索引值。
+ * @create 2025/5/17
+ */
+public class Demo07 {
+    public static void main(String[] args) {
+        int[] arr = {19, 28, 37, 46, 50};
+        Scanner sc=new Scanner(System.in);
+        int in=sc.nextInt();
+        for (int i = 0; i < arr.length; i++) {
+            if(arr[i]==in) {
+                System.out.println(i);
+                return; //结束整个方法--截停整个方法代码的执行
+            }
+        }
+        System.out.println(-1);
+    }
+}

+ 44 - 0
chapter01-javaSE/20250517_Java一维数组/Demo08.java

@@ -0,0 +1,44 @@
+package com.loveCoding.j20250517_java_array;
+
+import java.util.Scanner;
+
+/**
+ * @author WanJl
+ * @version 1.0
+ * @title Demo08
+ * @description 评委打分
+ * - 需求:在编程竞赛中,有6个评委为参赛的选手打分,分数为0-100的整数分。
+ *       选手的最后得分为:去掉一个最高分和一个最低分后 的4个评委平均值 (不考虑小数部分)。
+ * @create 2025/5/17
+ */
+public class Demo08 {
+    public static void main(String[] args) {
+        //创建数组,长度为6
+        int[] arr=new int[6];
+        Scanner sc=new Scanner(System.in);
+        //第1个循环,循环输入
+        for (int i = 0; i < arr.length; i++) {
+            System.out.println("第"+(i+1)+"位评委打分:");
+            int v= sc.nextInt();
+            arr[i]=v;
+        }
+        int max=arr[0],min=arr[0],sum=0,svg=0;
+        //第2个循环,求最大值、最小值、总和、平均分
+        for (int i = 0; i < arr.length; i++) {
+            //求最大值
+            if (arr[i]>max)
+                max=arr[i];
+            //求最小值
+            if(arr[i]<min)
+                min=arr[i];
+            //求累加和
+            sum+=arr[i];
+        }
+        //求平均分
+        svg=sum-max-min/(arr.length-2);
+        System.out.println("总分为:"+sum);
+        System.out.println("最高分为:"+max);
+        System.out.println("最低分为:"+min);
+        System.out.println("平均分为:"+svg);
+    }
+}

+ 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 + "次");
+        }
+
+    }
+}