2013-03-03 59 views
2

我想分析的操作员说:“+”,从我在运行时输入作为命令行参数,然后添加两个整数说“一”字符串“+”和'b'。如何从一个字符串解析运营商的Java

那么我该如何执行上述任务?

+0

什么是语法?你需要解析之前。 – nhahtdh 2013-03-03 08:49:44

+1

如果说我在命令行中输入“10 + 20”,那么我怎样才能得到答案为“30”? – 2013-03-03 09:03:17

回答

2

什么人到目前为止告诉你的是,认识到在一般需要使用,或写,解析器算术表达式。查看调车码算法,递归下降表达式解析等。

+0

好的。我想要探索它多一点。 – 2013-03-03 09:23:15

2
if (string.equals("+")) { 
    System.out.println("The result is " + (a + b)); 
} 
+0

如果说我在命令行中输入“10 + 20”,那么我怎样才能得到答案为“30”? – 2013-03-03 09:02:55

2

如果您使用的是Java 1.7,你可以使用一个开关来测试每个可能的运营商,然后做相应的操作:

switch(operator){ 
    case("+"): result = a + b; break; 
    case("-"): result = a - b; break; 
} 

对于旧版本的Java可以使用if语句来完成。

+0

或'operator.charAt(0)' – Mordechai 2013-03-03 08:55:04

+0

如果说我在命令行中输入“10 + 20”,那么我怎样才能得到答案为“30”? – 2013-03-03 08:57:46

+0

这是另一个问题。你为什么不问这个? – 2013-03-03 09:02:17