Java - оператор AND не работает
новичок здесь,
У меня есть две переменные, которые генерируют случайные числа через.Random
, Я хочу, чтобы они продолжали работать, пока обе переменные не сгенерируют два разных значения одновременно. Поэтому я используюwhile
цикл с&&
для этого. Как я понял, поправьте меня, если я ошибаюсь, строкаwhile ((diceRolled1 != 5) && (diceRolled2 != 4))
переводится как, продолжайте катиться, пока значенияdiceRolled1
не равно 5 А ТАКЖЕ diceRolled2
не равно 4, Но программа заканчивается, если любая из переменных соответствует ее значению (diceRolled1 = 5ИЛИ ЖЕ diceRolled2 = 4). Это не то&&
должен делать, верно? Я запускал код 10 раз, но ни разу он не генерировал 5 и 4 одновременно.
Я тоже пробовал==
с обеих сторон и с любой стороны, но в этом случае программа вообще не запускалась и не выдавала никаких ошибок.
Ваша помощь будет высоко ценится. Спасибо
import java.util.Random;
import static java.lang.System.out;
public class DiceRoller {
public static void main(String[] args) {
Random dice1 = new Random();
Random dice2 = new Random(); //Removing this doesn't work either
int diceRolled1 = 0;
int diceRolled2 = 0;
while ((diceRolled1 != 5) && (diceRolled2 != 4)) { //& didn't work either
diceRolled1 = dice1.nextInt(6) + 1;
diceRolled2 = dice2.nextInt(6) + 1;
out.println(diceRolled1 + " " + diceRolled2);
}
out.println("Program ends");
}
}