【问题标题】:Parse console input for calculator解析计算器的控制台输入
【发布时间】:2025-12-01 15:15:01
【问题描述】:

我对 Java 非常陌生(我有使用 JavaScript/HTML/CSS/SQL/PHP 和 C# 的经验)。

所以我想做一个计算器,用户输入命令,例如:

计算> 15 + 9

程序必须处理用户输入并传递结果,在上面的示例中为 24。

我知道如何构建switch 语句或if-cascade 来决定处理哪个操作(是否必须计数/除/...),我也知道如何显示结果。

但我遇到的问题是解析用户的输入。我想将输入解析为 number1 = 15operation = "+"number2 = 9。 我该如何解决?

扩展问题:我该如何解决:
示例:

计算> 15+8+4+6+8

【问题讨论】:

    标签: parsing input console


    【解决方案1】:

    您可以尝试以下方法:

    代码:

    public class Calculator{
        public static void main(String[] args){
            String s = null;
            for(System.out.print("calc>");!(s = System.console().readLine()).equalsIgnoreCase("exit");System.out.print("calc>"))
            {
                //parse the string s and do the calculation. Output the calculated value in new line.
                //System.out.println(s);
            }
        }
    
    }
    

    样本输出:

    $ javac Calculator.java 
    $ java Calculator
    calc>12+13
    12+13
    calc>1+3
    1+3
    calc>exit
    $
    

    (注:值的计算没有做)

    【讨论】: