Я хочу написать небольшую программу, но не знаю, почему моя петля не работает правильно.пока состояние не работает
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));
}
}
вещь второе условие. Моя команда syso говорит мне, что размер уже равен 9, но цикл не заканчивается?
Если случайное число в порядке, юридический метод возвращает true
. Итак, цикл должен закончиться. Если размер карты равен 9, он должен также закончить цикл, потому что я проверяю только цифры от 1 до 9.
Возможно, вы должны использовать && вместо || –
Нет никакого контекста для кода, который вы предоставили, поэтому очень сложно понять, что происходит. – px06
Если размер равен 9, ваше другое условие должно возвращать true. – Kidiskidvogingogin