[アイデア] javaインタビューの質問:長さが6のint型配列を作成し、1〜30の値が必要であり、要素の値が異なる

 アイデア:

1.配列の割り当てを循環させます。範囲は[1-30]です。

2. 2回目に割り当てられた値を前の値と1つずつ比較し、異なる場合は外側のループを続行し、各値が異なるまで外側のループをi-1(戻り値)で続行してから、ループを終了します。

public class ArrPratice {
    public static void main(String[] args) {
        int[] arr = new int[6];
        for (int i = 0; i < arr.length; i++) {// [0,1) [0,30) [1,31)
            arr[i] = (int) (Math.random() * 30) + 1;
            for (int j = 0; j < i; j++) {
                if (arr[i] == arr[j]) {
                    i--;
                    break;
                }
            }
        }
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
    }
}

 

おすすめ

転載: blog.csdn.net/qq_41048982/article/details/109233154