Я знаю, что это дублирующий вопрос, но мой вопрос больше касается логических операторов: я создаю простую игру «камень, ножницы, бумага».Каждый игрок должен ввести «R», «P» или «S».
Этот простой оператор if
if (!p1Input.equals("R") || !p1Input.equals("P") || !p1Input.equals("S")) {
System.out.println("Player one, not a valid input.")
}
должен запустить оператор print, если строка не является этими тремя буквами.Однако, даже если строка равна одной из букв, она все равно выводит неверный ввод.
В качестве альтернативы, я могу сделать
if (p1Input.equals("R") || p1Input.equals("P") || p1Input.equals("S"))
И это работает, но мне нужно включить вход игрока 2 в
if (p1Input.equals("R") || p1Input.equals("P") || p1Input.equals("S") && p2Input.equals("R") || p2Input.equals("P") || p2Input.equals("S"))
, но оператор выводит только недопустимыйесли оба входа игрока не R, S или P. Я не уверен, какие операторы && или ||использовать и где.Предпочтительно я хочу использовать условие «не равно»