无法弄清楚如何获得某些输入?

时间:2017-11-14 19:00:40

标签: java

我正在制作一个修复后计算器,我无法弄清楚如何在没有等号的情况下执行功能。例如,“a = 3 5 +”将打印8,但“3 5 +”将使程序崩溃。这是我到目前为止所拥有的

if (values.peek().matches("[a-z]") || values.search("=") > -1 )
{
    String a = values.pop();
    values.pop();
    double answer = compute(values);
    memory.put(a, answer);
    var.add(a);
    System.out.println("   " + answer);
}
else
{
    double answer = compute(values);
    System.out.println(answer);
}

1 个答案:

答案 0 :(得分:0)

我猜你的输入解析有一些问题。如果要按空格分割输入,请尝试以下方式:

String str = " 3 5 + ";
String[] splited = str.split("\\s+");

受到this question的第一个答案的启发: