3つの乱数を抽出する小さなプログラムを作成していますが、唯一の条件は3つの数値すべてが互いに異なる必要があります。たとえば、3,9,3は受け入れられません。Javaの乱数は異なる必要があります
これは私のコードで、私はそれを数回試してみて、時には互いに等しい数を表示します。
私のコードで何が間違っていますか?
public class Premi {
public static void main(String[] args) {
int num = (int) (Math.random() *10) + 1;
int num2 = (int) (Math.random() *10) + 1;
int num3 = (int) (Math.random() *10) + 1;
boolean first = true;
boolean second = true;
boolean third = true;
while(first) {
if (num!=num2) {
first=false;
} else if (num==num2) {
num = (int) (Math.random() *10) + 1;
}
}
while(second) {
if (num!=num3) {
second=false;
} else if (num==num3) {
num = (int) (Math.random() *10) + 1;
}
}
while(third) {
if (num2!=num3) {
third=false;
} else if (num2==num3) {
num2 = (int) (Math.random() *10) + 1;
}
}
System.out.println(num + "," + num2 + "," + num3);
}
}
ありがとうございます。
デバッグを行う必要があります。 –
リストを作成します。このリストの長さは '<3 'ですが、ランダムな整数を生成します。それがリストにある場合は、繰り返し実行してください。そうでない場合は、リストに追加します。なぜこのようなチェックはすべて? – Nepho
私はそれを見つけましたが、見つけられませんでした –