无法输入" *"在Java终端中

时间:2015-01-20 05:28:27

标签: java string terminal console

我正在尝试在java中编写一个简单的计算器,它在控制台中输入一个输入。

 eg. java 30 - 7  (works)
     java 30 * 7  (doesn't work)

经过一些调试后,似乎*被解析为main方法作为类名而不是String' *'。

 eg. public static void main(String[] args) {
          System.out.println(args[1]);
          // (returns Calculator.java and Calculator.class)
     }

有谁知道为什么?有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:0)

  

似乎*被解析为main方法作为类名而不是String'*'。

这不是正在发生的事情。

在调用*之前,您正在使用的shell(可能是bash)会扩展java以匹配当前目录中的所有文件。这称为globbing,与Java无关。如果您不希望shell解析参数,请传递一个字符串:

java some_app '30 * 7'