天天看點

我的Java學習之路(第十七天)------關于随機數的一個Java面試題目

(參考:尚矽谷_宋紅康)

題目内容為:

建立一個長度為6的int型數組,取值為1-30,并且元素值各不相同

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

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