我遇到了一个有趣的观点。我创建了一个简单的java文件,它从命令行获取参数并执行提供的算术运算,
e.g. java Test 2 3 5 + This gives output as 10 correctly
但是当我尝试的时候
java Test 2 3 *
它抛出NumberFormatException
。然后我查看了作为参数传递的值是什么,并且看到文件夹中的所有文件名(我的java文件所在的文件名)都作为参数传递。
这是典型情况吗?
我的代码是
class Test {
public static void main(String args[]) {
int sum = Integer.parseInt(args[0]);
for (int x = 1; x < args.length - 1; x++) {
int y = Integer.parseInt(args[x]);
if (args[args.length - 1].equals("+")) {
sum += y;
} else if (args[args.length - 1].equals("-")) {
sum -= y;
} else if (args[args.length - 1].equals("*")) {
sum *= y;
} else if (args[args.length - 1].equals("/")) {
sum /= y;
}
}
System.out.println(sum);
}
}