-1

そのため、プログラムが 0 から 9 までの 100 個のランダムな整数を生成し、それらを Array[ に格納するプログラムを作成しています。線形検索を使用して、Array[] で各値が一致する時間をカウントします。値は複数回表示される必要があるため、線形検索は配列内のすべての要素をトラバースする必要があります[]

私がこれまでに得たものはこれです

public static void main(String[] args) {
    int[] randomNumbers = new int[100];

    for(int index = 0; index < randomNumbers.length; index++)
    {
        randomNumbers[index] = (int) (Math.random()*100);
    }

    for(int index = 0; index < randomNumbers.length; index++)
    {
        System.out.println(randomNumbers[index]);
    }

}

}

4

1 に答える 1

0

おそらくあなたが探しているものではありませんが、を使用してオブジェクトの複数のインスタンスをカウントする簡単な方法ですHashMap。ランダムコードジェネレーターの例を次に示します。

public static void main(String[] args) {

    int[] randomNumbers = new int[100];
    HashMap<Integer, Integer> map = new HashMap<>();

    //Generate 100 random ints
    for (int index = 0; index < randomNumbers.length; index++) {
        randomNumbers[index] = (int) (Math.random() * 100);
    }

    //Count occurrences of numbers in randomNumbers
    for (int index = 0; index < randomNumbers.length; index++) {

        //Get value of key 'randomNumbers[index]
        Integer count = map.get(randomNumbers[index]);

        //If key didn't exist create it, else increment the value of occurrences.
        if (count == null) {
            map.put(randomNumbers[index], 1);
        } else {
            map.replace(randomNumbers[index], count + 1);
        }
    }

    //Print mappings
    System.out.println(map.toString());
}
于 2015-04-16T19:30:21.083 に答える