новичок здесь,
У меня есть две переменные, которые генерируют случайные числа через .Random
. Я хочу, чтобы они продолжали катиться, пока обе переменные не генерируют два разных значения одновременно. Поэтому для этой цели я использую цикл while
с &&
. Как я понял, пожалуйста, поправьте меня, если я ошибаюсь, линия while ((diceRolled1 != 5) && (diceRolled2 != 4))
переводится как катиться до значения diceRolled1
не является равным 5ИdiceRolled2
не равна 4. Но программа заканчивается, если любая переменная соответствует ее значению (diceRolled1 = 5 OR diceRolled2 = 4). Это не то, что должно делать &&
, верно? Я запускал код как 10 раз, но не один раз он генерировал 5 и 4 одновременно.Java - И оператор не работает
Я также пробовал ==
с обеих сторон и с обеих сторон, но в этом случае программа не запускалась вообще, и она не давала никаких ошибок.
Ваша помощь будет очень признательна. Thanks
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");
}
}
Thanks. Это хорошо работало –