Я пытаюсь создать программу-калькулятор, которая зацикливается, где пользователь может ввести число, а затем операцию, которую он желает выполнить над этим номером, пока он не введет "=" в качестве оператора. Переменная, содержащая результат, инициализируется как ноль в классе, и применяется оператор по умолчанию "+".
import java.util.Scanner;
public class main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
Calculator c = new Calculator();
boolean flow = true;
while(flow) {
System.out.println("Number :");
int userEntry = scan.nextInt();
System.out.println("Operator :");
String operation = scan.nextLine();
switch(operation) {
case "+":
c.setOperation(Calculator.ADDITION);
break;
case "-":
c.setOperation(Calculator.SOUSTRACTION);
break;
case "*":
c.setOperation(Calculator.MULTIPLICATION);
break;
case "=":
c.getResult();
return;
default:
System.out.println("Please enter a valid operator.");
}
c.apply(userEntry);
c.getResult();
}
}
}
Но каждый раз, когда я пытаюсь запустить программу, я получаю этот результат
Number :
4
Operator :
Please enter a valid operator.
Number :
67
Operator :
Please enter a valid operator.
Number :
Программа не позволяет мне вводить вход в оператор и напрямую переходить к следующему входу int. Я пытался написать это разными способами, например, вытащить эту часть из цикла, но это все та же ошибка, и я не могу понять, что вызывает это. Любая помощь будет очень признательна.