Я работаю над кодированием простого калькулятора в Eclipse, используя структуру switch-case-break-default. Различные операторы перечислены в виде целых чисел (сложение 1, вычитание 2 и т. д.), чтобы пользователь мог выбрать ввод для оператора и двух чисел. Например, мой раздел для разделения:
Код: Выделить всё
case 4: result = number1 / number2; System.out.println("Result of division: " + result); break;
Почти все операторы работают отлично, но когда я ввожу «0» в качестве делителя (число 2), я получаю ответ «Бесконечность».Поскольку я хочу, чтобы программа выводила сообщение «Невозможно разделить на ноль!» сообщение с использованием «if...else», я сначала попытался создать дубликат регистра 4 над разрывом регистра обычного деления, чтобы уловить ошибку, но у меня может быть только один разрыв регистра для каждого целого числа. Я также попытался создать оператор «номер случая2 = 0», но код ошибки сказал, что значение случая должно быть заранее определено. Однако я не смог найти другую строку для размещения оператора исключения деления на ноль, которая не вызывала бы проблем с другими операциями. Существует ли способ вложения оператора разрыва регистра в другой оператор разрыва регистра? Ближе всего к оператору прерывания регистра, который, похоже, перехватывает исключение (но работает неправильно):
Код: Выделить всё
case 4: number2 = 0; System.out.println("Cannot divide by zero!"); break result = number1 / number2; System.out.println("Result of division: " + result); break;
Для дополнительного контекста: цифра 4 выше — это переменная int, которая поступает из входных данных сканера. результат, номер 1 и номер 2 — двойные переменные, которые используются для расчета ответа.
Я также приложил скриншоты кода моей текущей программы.
Снимок экрана программы Java-калькулятора 1
Скриншот программы Java-калькулятора 2
Подробнее здесь:
https://stackoverflow.com/questions/790 ... efault-str