java学习1:数组管理小程序,附源码,自编,当时还没看到封装等等。。。写的不好见谅。。。
目标:看到慕课网留的作业,便进行编程练习,具体实现功能请自贴编译软件执行即可。
实现效果:
源码如下:
package work1; import java.util.Scanner; public class ArrayManage { //插入数字方法 public int[] insertDate() { Scanner sc = new Scanner(System.in); int[] a = new int[10]; for (int n = 1; n <= 9; n++) { System.out.println("请输入第" + n + "个数据"); a[n - 1] = sc.nextInt(); } return a; } //显示数字方法 public void showData(int[] a, int length) { if (a[length - 1] == 0) { length = length - 1; } System.out.println(); for (int n = 1; n <= length; n++) { System.out.print(a[n - 1] + " "); } System.out.println(); } //在指定位置插入数据 public void insertAtArray(int[] a, int n, int k) { if(a[a.length-1]==0) { if (n < 10) { int ww = a.length; for (; ww > n; ww--) { a[ww - 1] = a[ww - 2]; } a[n - 1] = k; } else if (n == 10) { a[n - 1] = k; } }else { a[n-1]=k; } showData(a, a.length); } //第三步的封装 public void set_3(int[] a) { Scanner sc = new Scanner(System.in); System.out.println(); System.out.println("输入要插入的位置:"); int n = sc.nextInt(); if (n <= 10) { System.out.println("输入要插入的值:"); int k = sc.nextInt(); insertAtArray(a, n, k); } else { System.out.println("********请输入1-10内的数字********"); set_3(a); } } //查询能被3整除的数据 public void divThree(int[] a) { System.out.println("能被3整除的数字为:"); for (int xx : a) { ; if (xx % 3 == 0) { System.out.print(xx + " "); } } System.out.println(); } //提示信息的方法 public void notice() { System.out.println("************************************"); System.out.println(" 1--插入数据"); System.out.println(" 2--显示所有数据"); System.out.println(" 3--在指定位置插入数据"); System.out.println(" 4--查询能被3整除的数据"); System.out.println(" 0--退出"); System.out.println("************************************"); } //主程序入口 public static void main(String[] args) { ArrayManage management = new ArrayManage(); Scanner sc = new Scanner(System.in); management.notice(); int hit = sc.nextInt(); int[] a = new int[10]; while (hit != 0) { switch (hit) { case 1: a = management.insertDate(); management.showData(a, a.length); break; case 2: management.showData(a, a.length); break; case 3: management.set_3(a); break; case 4: System.out.println(); management.divThree(a); break; case 0: System.out.println("退出!"); break; default: System.out.println("******输入数值不正确,请重新输入:*****"); break; } management.notice(); hit = sc.nextInt(); } } }