Вы приняли проблему не с той стороны. Там ваш цикл будет продолжаться там, где вы хотите остановиться.
Вы должны просто сделать следующее и отменить условие
do {
} while (!(x == -1 && y == -1 || x == 5 || y == 10));
Демо
public static void main (String[] args) {
System.out.println(conditionTesting(0, -1)); // true
System.out.println(conditionTesting(-1, -1)); // false
System.out.println(conditionTesting(5, -1)); // false
System.out.println(conditionTesting(-1, 10)); // false
System.out.println(conditionTesting(6, 9)); // true
}
public static boolean conditionTesting(int x, int y) {
return !(x == -1 && y == -1 || x == 5 || y == 10);
}
1017 * де Морган *
Если вы хотите представить его, используя Закон Деморгана , вы можете сделать это, выполнив следующие шаги
¬((P ∧ Q) ∨ R ∨ S)
≡¬(P ∧ Q) ∧ ¬R ∧ ¬S
≡(¬P ∨ ¬Q) ∧ ¬R ∧ ¬S
Итак, ваш окончательный перевод будет
(x != -1 || y != -1) && x != 5 && y != 10
Демо Ideone