在上海樂位元組學習Java的第十七天

dirft_lez發表於2020-11-11

關於隨機數的一個Java面試題目

題目內容為:
建立一個長度為6的int型陣列,取值為1-30,並且元素值各不相同

思路:第一個數字不用管(因為沒有數字和它重複),從第二個元素開始,依次比較與前面數字是否相同,如果相同則重新生成一個新的隨機數,下面為實現程式碼;

?很簡單,一眼就能看懂(Eg:如果沒看懂,評論區評論下,我會解釋的,不過應該不存在這個問題)

`package de1;

public class Test {

	public static void main(String[] args) {
		//建立陣列
		int[] array = new int[6];
		for(int i=0;i<array.length;i++) {
			//保證了陣列裡的數在[1,30]之間
			array[i] = (int)(Math.random() * 30) + 1;
			//判斷是否與前面的數字相同,若相同則重新給當前陣列元素賦值
			for(int j=0;j<i;j++) {
				if(array[i]==array[j])
					i--;
					break;
			}
		}
		
		//遍歷陣列
		for(int x:array) {
			System.out.println(x);
		}
		
	}
}` 

當然,遍歷陣列還有另外一種方式,兩種方式是等價的;

`for(int i=0;i<array.length;i++) {
			System.out.println(array[i]);
		}` 

相關文章