Как сохранить в переменные введенные два числа(арабские или римские) и по середине операцию(+, -, *, /)?

78
22 ноября 2021, 15:00

ввожу два числа, например, так: 1 + 2 (с пробелами)

сохранение затем в num1, operation, num2(Как это сделать?)

и вариант с римскими: VI - III

и те и другие числа принадлежат массиву от 1 до 10 и от I до X соответственно

Answer 1

Используйте метод split для разделения строкИ на стрОки, между которыми стояла строкА, переданная в кач-ве аргумента

    int firstNumber, secondNumber;
    String operation; 
    String numOperationNum = new Scanner(System.in).nextLine().split(" ");
    if(numOperationNum.length != 3){
        System.out.println("Неверный формат ввода");
    } else {
        firstNumber =  Integer.parseInt(numOperationNum[0]);
        operation = numOperationNum[1];
        secondNumber =  Integer.parseInt(numOperationNum[2]);
        // если же нужно парсить римские цифры от 1 до 10(хранятся в массиве m длиной 11)
        boolean firstStated, secondStated;
        for(int i = 0; i < m.length; i++){
            if(numOperationNum[0].equals(m[i])){
                firstNumber = i + 1;
                firstStated = true;
            }
            if(numOperationNum[2].equals(m[i])){
                secondNumber = i + 1;
                secondStated = true;
            }
        }
        if(!firstStated || !secondStated){
            //error
        }
    }
READ ALSO
С какой версии android доступен Snackbars?

С какой версии android доступен Snackbars?

На устройствах android 51 довольно часто вылезают ошибки, связанные со Snackbars

156
Spring отображение статических элементов

Spring отображение статических элементов

Приложение собираю при помощи @SpringBootApplication, стили получилось подключить в файле indexjsp

133
Как работают битовые операции на Long в Java?

Как работают битовые операции на Long в Java?

У меня есть следующий код:

74