В вашем коде вы спрашиваете, «если номер элемента не равен« A123 »ИЛИ« A55 »ИЛИ« B750 »ИЛИ« C650 », тогда сделайте эти вещи». Поэтому, когда вы вводите «A55», программа проверяет, что «A55» не равно «A123» или «A55» .... Ооо Это не равно «A123», поэтому условие истинно.
Если вы измените то, что просите, вот так. «если номер позиции не равен« A123 »И« A55 »И« B750 »И« C650 », то делать это». Поэтому, когда вы вводите «A55», программа проверяет, что «A55» не равно «A123» и «A55» ... Ох, это не «не равно» «A55», поэтому условие ложно. Пример,
if (!"A123".equals(itemNumber) && !"A55".equals(itemNumber) && !"B750".equals(itemNumber) && !"C650".equals(itemNumber))
{
System.out.print("\nInvalid Item. Try again. ");
System.out.print("\nEnter an item number or END to exit: ");
itemNumber = keyboard.nextLine();
}
System.out.printf("\nThank you. %s", itemNumber);
Или вы можете изменить то, что вы просите, на что-то вроде этого,
«если номер элемента равен« A123 »или« A55 », или« B750 », или« C650 », то выведите« Thank You », а в противном случае сделайте это». Это было бы правильно. Пример,
if ("A123".equals(itemNumber) || "A55".equals(itemNumber) || "B750".equals(itemNumber) || "C650".equals(itemNumber))
{
System.out.printf("\nThank you. %s", itemNumber);
}
else{
System.out.print("\nInvalid Item. Try again. ");
System.out.print("\nEnter an item number or END to exit: ");
itemNumber = keyboard.nextLine();
}