如下代码:
public class Test {
public static void main(String[] args) {
// TODO 自动生成的方法存根
if (args.length<3){
System.out.println("Use command line:Java Test "+"N1 "+" op "+" N2");
System.exit(-1);
}
double n1 = Double.parseDouble(args[0]);
double n2 = Double.parseDouble(args[2]);
double d=0;
if (args[1].equals("+")){
d=n1+n2;
} else if (args[1].equals("-")){
d=n1-n2;
} else if (args[1].equals("*")){
d=n1*n2;
} else if (args[1].equals("/")){
d=n1/n2;
} else{
System.out.println("ERROR");
System.exit(-1);
}
System.out.println(d);
}
}
其中当我执行java Test之后,录入 1 + 2可以得出结果3,但是当我重新输入 java Test 1 * 2之后即报错。
我修改源码* 为x ,则没有这个问题,求解。
------解决方案--------------------
用 *的时候
我把args参数都给输出出来了
发现里面的信息包括我当前路径的文件信息
