1. 程式人生 > >2019-1-3作業

2019-1-3作業

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

  結果示例: