Я пытаюсь создать метод калькулятора и хочу использовать математические символы в своем выражении case, но моя проверка ошибок продолжает выдавать ошибку.
Я попытался переместить мои операторы ELSE в нижнюю часть на случай, если это было проблемой с определением последовательности. Когда я добавляю переменную в конец моего сообщения об ошибке, появляется возможность назначить ее правильно.
общедоступный калькулятор статических пустот (double firstNumber, операция char, double secondNumber) {
if (operation != '+' || operation != '-' || operation != '*' || operation != '/' || operation !='%'){
throw new IllegalArgumentException("You must choose a number between 1 and 5 inclusive." + operation);
}else{
if(operation == '/' && secondNumber == 0){
throw new IllegalArgumentException("Dividend cannot be zero.");
}else{if(operation == '%' && secondNumber == 0){
throw new IllegalArgumentException("Dividend cannot be zero.");
}else
switch (operation){
case '+': System.out.println("1");
break;
case '-': System.out.println("2");
break;
case '*': System.out.println("3");
break;
....
Пример ошибок с использованием +,% и /:
> java.lang.IllegalArgumentException: You must choose a number between 1
> and 5 inclusive.+ at MathUtilites.calculator(MathUtilites.java:39)
> java.lang.IllegalArgumentException: You must choose a number between 1
> and 5 inclusive.% at MathUtilites.calculator(MathUtilites.java:39)
> java.lang.IllegalArgumentException: You must choose a number between 1
> and 5 inclusive./ at MathUtilites.calculator(MathUtilites.java:39)
Я ожидаю, что он просто вернет число от 1 до 5, которое я позже заменю реальным кодом.