数字の繰り返しのないランダムな4桁の数字を作成するためにJavaを使用してコードを書きました。私が書いたコードは以下のとおりです:-
Random r = new Random();
d1 = r.nextInt(9);
d2 = r.nextInt(9);
d3 = r.nextInt(9);
d4 = r.nextInt(9);
while(d1==d2||d1==d3||d1==d4||d2==d3||d2==d4||d3==d4)
{
if(d1==d2||d2==d3||d2==d4)
{
d2 = r.nextInt(9);
}
if(d1==d3||d2==d3||d3==d4)
{
d3 = r.nextInt(9);
}
if(d1==d4||d2==d4||d3==d4)
{
d4 = r.nextInt(9);
}
}
System.out.println(d1+""+d2+""+d3+""+d4);
テストケース(から生成されたものSystem.out.println(R1+""+R2+""+R3+""+R4);
)は次のとおりです:-
0123 | OK as required
1234 | OK as required
2123 | not OK because 2 is present more than one time
9870 | OK as required
0444 | not OK because 4 is present more than one time
ここでの私の質問は、これを行うためのより良い方法があればということです。何らかの方法でそれを強化できたら?