0

私は10整数の長さの配列を作成しているので、0〜9の各場所には異なる整数0〜9が含まれています。

配列にすでに特定の番号が含まれているかどうかを確認し、含まれている場合は新しい番号を再生成する方法を理解するのに問題があります。

これまでのところ:

for (int i = 0; i < perm.length; i++)
{
    int num = (int) (Math.random() * 9); 
    int []

    perm[i] = num;   
}
4

3 に答える 3

3
Arrays.asList(perm).contains(num) 

from配列に特定の値が含まれているかどうかをテストするにはどうすればよいですか?

for (int i = 0; i < perm.length; i++)

これは、このようにループするのに十分ではありません。衝突が発生した場合、一部のスロットは初期化されていません。

全体として、このタスクでは、配列を値で順番に初期化し、ランダム置換インデックスを使用してシャッフルする方が適切です。

于 2012-12-09T16:12:28.180 に答える
0

ここに完全な答えがあります

int[] array = {3,9, 6, 5, 5, 5, 9, 10, 6, 9,9};

    SortedSet<Integer> s = new TreeSet();
    int numberToCheck=61;
    for (int i = 0; i < array.length; i++) {
        s.add(array[i]);
    }

    System.out.println("Number contains:"+!(s.add(numberToCheck)));


    System.out.println("Sorted list:");
    System.out.print(s);
于 2015-05-20T19:15:16.370 に答える
0

チェックする文字列と整数の両方を追加するかどうか。

public class existOrNotInArray {

public static void elementExistOrNot() {
    // To Check Character exist or not
    String array[] = { "AB", "CD", "EF" };

    ArrayList arrayList = new ArrayList<>();

    String stringToCheck = "AB";

    for (int i = 0; i < array.length; i++) {
        arrayList.add(array[i]);
    }

    System.out.println("Character exist : " + arrayList.contains(stringToCheck));

    // To Check number exit or not
    int arrayNum[] = { 1, 2, 3, 4 }; // integer array

    int numberToCheck = 5;

    for (int i = 0; i < arrayNum.length; i++) {
        arrayList.add(arrayNum[i]);
    }
    System.out.println("Number exist :" + arrayList.contains(numberToCheck));
}

public static void main(String[] args) {
    elementExistOrNot();
}
}
于 2018-08-03T16:26:36.393 に答える