У меня есть фрагмент кода, который последовательно дает мне ошибку:Failed текст проверки
do {
System.out.println("Choose Role: (Manager, Developer, QA) ");
role = scan.nextLine();
// For testing: ///////////////////////
System.out.println("role is: " + role);
////////////////////////////////////////////////
if (is_numeric(role)) {
System.out.println("Invalid Input.");
continue;
} else if (!role.equalsIgnoreCase("MANAGER") || !role.equalsIgnoreCase("DEVELOPER") || !role.equalsIgnoreCase("QA")) {
System.out.println("Invalid Role");
continue;
} else {
break;
}
} while (true);
Я добавил «Для тестирования» блок просто увидеть, если по какой-то причине есть что-то происходит с переменной роли , но его нет. Независимо от того, как я пишу менеджер/разработчик/qa (будь то в шапках, маленьких буквах и т. Д.), Запускается «Неверная роль», и цикл переходит снова.
Любые предложения?
Можете ли вы показать мне какое-то значение 'a', что подведет test '(a! = 1 OR a! = 2)'? – Pshemo
Несвязанный, но я бы переместил это в отдельный метод, чтобы облегчить думать о магистральном коде. Кроме того, использование строк для ролей просто больно - подумайте об использовании перечисления или, возможно, класса. –