0

私はこのクラスを持っていて、私にとってはうまくいっています。5桁の乱数を与えます。私が達成できないのは、5 つの数字が互いに異なるということです。つまり、5 桁の数字を繰り返さないということです。

import java.util.Random;

public class Test
{

    public int[] dedo()
    {
        Random diceRoller = new Random();
        int[] cifra = new int[5];
        for (int i = 0; i < cifra.length; i++)
        {
            int roll = diceRoller.nextInt(9);
            cifra[i] = roll;
            System.out.print(roll);
        }
        return cifra;
    }
}
4

1 に答える 1

1

このように結果を制約する場合、実際にはランダムではありませんが、これを行うための手っ取り早い厄介な方法は、Collections.shuffle()

List<Integer> digits = Arrays.asList(0,1,2,3,4,5,6,7,8,9);
Collections.shuffle(digits);
return digits.subList(0, 4).toArray();
于 2013-03-16T23:38:15.487 に答える