Как ограничить на вход числа, чтобы были только от 1 до 10 и калькулятор мог решать только с этими числами?

Для ограничения вводимых чисел в пределах от 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 и ограничить доступные операции в калькуляторе только для чисел из этого диапазона. Вы можете выбрать подход, который больше соответствует вашим требованиям и структуре вашего приложения.