2019-1-3作業
阿新 • • 發佈:2019-01-04
1、陣列有何作用?
陣列是一個變數,儲存相同資料型別的一組資料,在記憶體空間劃出一串連續的空間。可以更加方便的處理相同資料型別的資料。
2、使用陣列的步驟?
1、宣告陣列:如:int[] a;
2、分配空間:如:a = new int[5];
3、賦值 如:a[0] = 8;
4、處理資料:如:a[0] = a[0] * 10;
3、如何遍歷陣列?
package com.java1_3; public class BianLiShuZu { public static void main(String[] args) { int[] a = {5,96,8,7,4,5,9}; for(int i=0;i<a.length;i++) { System.out.print(a[i]+" ");//普通for迴圈實現 } System.out.println(); System.out.println("----------------"); for(int b:a) { System.out.print(b+" ");//使用增強for迴圈實現 } } }
結果:
4、簡述最大值的實現思路是怎麼樣?
先設定一個最大數,把除非之外的所有數都進行比較,如果比其它數小,其它數當最大數繼續作比較,直到所有數都有比較過;
作業:
1、在一個長度為6的陣列中,陣列中最後一個為空,插入一個數,並降序輸出。
方法一:找到這個數在陣列中位置插入進去
package com.java1_3; import java.util.Scanner; public class ChaRunShuJu { public static void main(String[] args) { Scanner cxj = new Scanner(System.in); int[] a = new int[6]; a[0] = 56; a[1] = 78; a[2] = 90; a[3] = 12; a[4] = 34; //先對陣列中的資料進行降序排列 System.out.println("排序之前的資料順序是:"); for(int i=0;i<a.length-1;i++) { System.out.print(a[i]+" "); } for(int i=0;i<a.length-1;i++) { for(int j=0;j<a.length-1-i;j++) { if(a[j]<a[j+1]) { int temp = a[j]; a[j] = a[j+1]; a[j+1] = temp; } } } System.out.println(); System.out.println("排序之後的資料順序是:"); for(int i=0;i<a.length-1;i++) { System.out.print(a[i]+" "); } //插入一個數到陣列,並以降序輸出 //首先確定要插入的數在陣列中應該插在哪個位置,記錄下標 System.out.println(); System.out.println("請輸入要插入的數:"); int shu = cxj.nextInt(); int index = a.length-1; for(int i=0;i<a.length-1;i++) { if(a[i]<shu) { index = i; break; } } //接下去將這個位置的數和後面所有的數全部往後移動一位 for(int j=a.length-1;j>index;j--) { a[j] = a[j-1]; } //將輸入的值賦給下標為index的陣列 a[index] = shu; //遍歷輸出插入後的陣列 System.out.println("------------------"); System.out.println("插入後的資料順序是:"); for(int i=0;i<a.length;i++) { System.out.print(a[i]+" "); } } }
結果示例:
方法二,直接將要插入的數放在最後一個位置,再對陣列進行降序排列
package com.java1_3; import java.util.Scanner; public class ChaRunShuJu2 { public static void main(String[] args) { Scanner cxj = new Scanner(System.in); int[] a = new int[6]; a[0] = 56; a[1] = 78; a[2] = 90; a[3] = 12; a[4] = 34; System.out.println("插入之前的資料是:"); for(int i=0;i<a.length;i++) { System.out.print(a[i]+" "); } System.out.println(); System.out.println("請輸入要插入的數:"); int shu = cxj.nextInt(); a[5] = shu; //對陣列中的資料進行降序排列 for(int i=0;i<a.length-1;i++) { for(int j=0;j<a.length-1-i;j++) { if(a[j]<a[j+1]) { int temp = a[j]; a[j] = a[j+1]; a[j+1] = temp; } } } System.out.println(); System.out.println("插入後的資料情況是:"); for(int i=0;i<a.length;i++) { System.out.print(a[i]+" "); } } }
結果示例: