Я пытаюсь получить только один ввод от пользователя и выполнить расчет с предыдущим результатом.Калькулятор начинается с 0
, хотя я знаю, что могут быть некоторые проблемы с умножением.На данный момент это не важно.Я застрял с этим некоторое время, и я не могу найти решение для этого.Так что это будет выглядеть примерно так:
0
+ 3 (user input)
3 (result)
- 2 (user input)
1 (result)
Код делает это пару раз, но мне как-то нужен цикл, чтобы он делал это, пока пользователь не скажет что-то вроде exit
или e
иличто-то еще.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
System.out.println("Please enter your calculation");
Scanner scanner = new Scanner(System.in);
System.out.println("0");
//int left = scanner.nextInt();
String op = scanner.next();
int right = scanner.nextInt();
int num3 = compute(0,op,right);
System.out.println(num3);
int rright;
int rrright;
System.out.println("Enter your calculation");
String op1 = scanner.next();
rright = scanner.nextInt();
int num4 = compute(num3,op1,rright);
System.out.println(num4);
System.out.println("Enter your calculation");
String op2 = scanner.next();
rrright = scanner.nextInt();
int num5 = compute(num4,op2,rrright);
System.out.println(num5);
}
private static int compute(int left, String op, int right) {
switch (op.charAt(0)) {
case '+':
return left + right;
case '-':
return left - right;
case '*':
return left * right;
case '/':
return left / right;
}
throw new IllegalArgumentException("Unknown operator:" + op);
}
}