/
Alsu878
/
Calculator
Обзор
Документация
Войти
/
Alsu878
/
Calculator
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Test
56 строк
2 KB
Alsu878
create Test
06 ноя 2025, 22:48
06 ноя 2025, 22:48
35c9bf1
Код
Авторство
О чём код?
import java.util.Scanner; public class Calculator { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("Введите выражение (например, 1 + 2):"); String input = scanner.nextLine(); String[] tokens = input.split(" "); if (tokens.length != 3) { throw new IllegalArgumentException("Некорректный ввод. Ожидается: число операция число."); } int a = parseNumber(tokens[0]); String operation = tokens[1]; int b = parseNumber(tokens[2]); int result = 0; switch (operation) { case "+": result = a + b; break; case "-": result = a - b; break; case "*": result = a * b; break; case "/": if (b == 0) { throw new ArithmeticException("Ошибка: Деление на ноль."); } result = a / b; // Целочисленное деление break; default: throw new IllegalArgumentException("Некорректная операция: " + operation); } System.out.println("Результат: " + result); scanner.close(); } private static int parseNumber(String str) { try { int number = Integer.parseInt(str); if (number < 1 || number > 10) { throw new IllegalArgumentException("Число должно быть от 1 до 10 включительно."); } return number; } catch (NumberFormatException e) { throw new IllegalArgumentException("Некорректный ввод: '" + str + "' не является целым числом."); } } }