-2
私は少しのプログラムを書いていますが、私のループが正しく動作していない理由はわかりません。while条件が成立しない場合
while ((!ss.legal(myNumbers, colRand, rowRand, numRand)) || (triedNumbers.size() != 9)) {
System.out.println(triedNumbers.size());
// if(triedNumbers.size()==9) break;
numRand = getRandomNumber(1,9);
if (!triedNumbers.contains(Integer.valueOf(numRand))) {
triedNumbers.add(Integer.valueOf(numRand));
}
}
事は第2の条件です。私のsyso-commandは、サイズはすでに9であると言っていますが、ループは終了していませんか?
乱数が有効な場合、法的な方法はtrue
を返します。ループは終了するはずです。マップのサイズが9になると、1から9の数字だけをチェックするのでループも終了する必要があります。
多分、||の代わりに&&を使うべきです。 –
あなたが提供したコードには文脈がないので、何が起こっているのか本当に分かりません。 – px06
サイズが9の場合、他の条件はtrueを返す必要があります。 – Kidiskidvogingogin