私は自分で(クラス/教師/家庭教師などなしで)Javaプログラミングを学ぼうとしているので、これは宿題ではありません。
私の質問は、初心者向けのJavaチャレンジでほのめかされています。whileループで乱数を生成しますが、この質問をした前のプログラマーが述べたように、ArrayListsをカバーするのに十分なほどこの本に進んでいません。
この質問に答えることは、ほとんどの初心者プログラマーがwhileループのステートメントを書く方法をよりよく理解するのに役立ちます。これは、特に初心者にとっては、しばしば複雑なプロセスです。
問題は、1から100までの乱数を生成し、同じ数を2回生成した後にループを停止するwhileループを作成することです。
ご存知のように、このプログラムを実行すると、実行するたびに1から100までの2つの乱数の出力のみが作成されます。17行目が原因でこのエラーが発生したと思います。equal=numberCheck== values [i]; これは、whileループ条件が真になり、評価を停止するタイミングを定義するステートメントであるため、正しくありません。
どんな助けでも大歓迎です。ありがとうございました。
私のコードは次のとおりです。
import java.util.Random;
public class SameNumber {
public static void main(String args[]) {
Random rand = new Random();
int[] values = new int[100];
int counter = 0;
boolean equal = false;
for (int i = 0; i < 2; i++) {
values[i] = rand.nextInt(100) + 1;
System.out.println(values[i]);
int numberCheck;
}
while (!equal) {
for(int i = counter - 1; i >= 0; i--) {
int numberCheck = values[i];
equal = numberCheck == values[i];
//}
if (!equal) {
System.out.println(rand.nextInt(100) + 1);
}
for (int j = counter - 1; j >= 0; j--) {
if (numberCheck == values[j]) {
break;
}
}
}
}
}
}
PS:これはばかげているように聞こえるかもしれませんが、私はこの問題に約1週間取り組んでおり、追加の調査を収集しようとしていますが、それでも適切な解決策にたどり着くことができませんでした。他のプログラマーが私がまだ学んでいない方法で答えてしまうのではないかと心配しているので、私は助けを求めるのをためらっています。