循环:while和switch基本计算器java



我是一名工程师^_^我正试图制作一个计算器作为我的第一个java程序。。这个计算器在整个过程中循环,直到你选择退出,我的问题是,即使我选择退出,它仍然要求num1和num2,我希望它立即退出。

import java.io.Console;
public class Calc {
    public static void main (String[] args) {
        Console console = System.console();
        loop: while(true) {
        String operator = console.readLine("Enter Operation or Quit: ");
        String num1 = console.readLine("Enter num1: ");
        String num2 = console.readLine("Enter num2: ");
        int x = Integer.parseInt(num1);
        int y = Integer.parseInt(num2);
        int sum = add(x,y);
        int sub = minus(x,y);
        int mul = product(x,y);
        int div = divide(x,y);
        switch(operator) {
            case "addition":
            System.out.println(sum);
            break;
            case "subtraction":
            System.out.println(sub);
            break;
            case "multiplication":
            System.out.println(mul);
            break;
            case "division":
            System.out.println(div);
            break;
            case "quit":
            System.exit(0);
            break loop;
            default:
            System.out.println("Out of topic");
            }
        }
        }
    public static int add(int x, int y) {
        return x+y;
    }
    public static int minus(int x, int y) {
        return x-y;
    }
    public static int product(int x, int y) {
        return x*y;
    }
    public static int divide (int x, int y) {
        return x/y;
    }
}

即使我选择退出,它仍然要求num1和num2,我希望它立即退出

在这种情况下,在询问接下来的两个值之前,请检查该选项是否为退出。

String operator = console.readLine("Enter Operation or Quit: ");
if ("quit".equals(operator))
   return;
String num1 = console.readLine("Enter num1: ");

顺便说一句,拥有一个比它所包装的表达式更长、更复杂的方法没有多大意义,除非表达式是模糊的。你可以假设+的含义并不含糊。

最新更新