Для ограничения вводимых чисел в пределах от 1 до 10 и ограничения возможных операций калькулятора только на этом диапазоне, можно использовать различные подходы в зависимости от требований вашего приложения.
Вариант 1: Использование условных операторов и циклов
Вы можете использовать условные операторы if-else и циклы для проверки введенных чисел и операций в калькуляторе и выводить ошибку в случае несоответствия диапазону чисел или недопустимой операции.
Пример кода:
import java.util.Scanner; public class Calculator { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("Введите первое число (от 1 до 10):"); int num1 = scanner.nextInt(); if (num1 < 1 || num1 > 10) { System.out.println("Ошибка! Число должно быть от 1 до 10."); return; } System.out.println("Введите операцию (+, -, *, /):"); String operation = scanner.next(); if (!operation.equals("+") && !operation.equals("-") && !operation.equals("*") && !operation.equals("/")) { System.out.println("Ошибка! Допустимые операции: +, -, *, /."); return; } System.out.println("Введите второе число (от 1 до 10):"); int num2 = scanner.nextInt(); if (num2 < 1 || num2 > 10) { System.out.println("Ошибка! Число должно быть от 1 до 10."); return; } int result; if (operation.equals("+")) { result = num1 + num2; } else if (operation.equals("-")) { result = num1 - num2; } else if (operation.equals("*")) { result = num1 * num2; } else { result = num1 / num2; } System.out.println("Результат: " + result); } }
Вариант 2: Использование исключений
Вместо условных операторов можно использовать исключения для обработки ошибок, связанных с неправильным вводом чисел или операций.
Пример кода:
import java.util.Scanner; public class Calculator { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("Введите первое число (от 1 до 10):"); int num1; try { num1 = scanner.nextInt(); if (num1 < 1 || num1 > 10) { throw new IllegalArgumentException("Число должно быть от 1 до 10."); } } catch (Exception e) { System.out.println("Ошибка: " + e.getMessage()); return; } System.out.println("Введите операцию (+, -, *, /):"); String operation = scanner.next(); if (!operation.equals("+") && !operation.equals("-") && !operation.equals("*") && !operation.equals("/")) { System.out.println("Ошибка! Допустимые операции: +, -, *, /."); return; } System.out.println("Введите второе число (от 1 до 10):"); int num2; try { num2 = scanner.nextInt(); if (num2 < 1 || num2 > 10) { throw new IllegalArgumentException("Число должно быть от 1 до 10."); } } catch (Exception e) { System.out.println("Ошибка: " + e.getMessage()); return; } int result; if (operation.equals("+")) { result = num1 + num2; } else if (operation.equals("-")) { result = num1 - num2; } else if (operation.equals("*")) { result = num1 * num2; } else { result = num1 / num2; } System.out.println("Результат: " + result); } }
Оба этих варианта позволят вам ограничить вводимые числа в пределах от 1 до 10 и ограничить доступные операции в калькуляторе только для чисел из этого диапазона. Вы можете выбрать подход, который больше соответствует вашим требованиям и структуре вашего приложения.