//下面args[i]这里的i没定义。应该是args[1]吧?
if(args[i].equals("+")) { d = d1 + d2; }
//下面这两句可能遇到转型异常,如果参数不是double就会抛异常了。
double d1 = Double.parseDouble(args[0]);
double d2 = Double.parseDouble(args[2]);
//下面的x,换位*,x不是java的运算符
else if(args[i].equals("x")) { d = d1 x d2; }
楼上的回答可以,如果arg[0]或者args[2]为空,转型可能会报错,需要加条件判断下。
public class Array {
public static void main(String [] args) {
if(args.length < 3) {
System.out.println("Usage.java test \"n1\"op\"n2");
System.exit(-1);
}
double d1 = Double.parseDouble(args[0]);
double d2 = Double.parseDouble(args[2]);
double d = 0;
if(args[1].equals("+")) { d = d1 + d2; }
else if(args[1].equals("-")) { d = d1 - d2; }
else if(args[1].equals("x")) { d = d1 * d2; }
else if(args[1].equals("/")) { d = d1/d2; }
else {
System.out.println("Error operate!");
System.exit(-1);
}
System.out.println(d);
}
}
上一位回答得对了,只是运行时要给几个参数。不过LZ能把(*)当成(X),我想我说了,也是白说。打个酱油了!