我正在尝试在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)
}
有谁知道为什么?有没有办法解决这个问题?
答案 0 :(得分:0)
似乎*被解析为main方法作为类名而不是String'*'。
这不是正在发生的事情。
在调用*
之前,您正在使用的shell(可能是bash)会扩展java
以匹配当前目录中的所有文件。这称为globbing,与Java无关。如果您不希望shell解析参数,请传递一个字符串:
java some_app '30 * 7'