主题:新手请教
本人初学java,还请坛子里的牛人们扶一把。现在有一个问题,是关于异常处理的。
测试代码如下:
public class TestArgs {
public static void main(String[] args) {
if(args.length<3) {
System.out.println(
"Usage: java TestArgs \"n1\" \"op\" \"n2\"");
System.exit(-1);
}
try {
double d1 = Double.parseDouble(args[0]);
} catch (NumberFormatException e) {
System.out.println("\"n1\" is incorrect input, please provide an INT"); }
try {
double d2 = Double.parseDouble(args[2]);
} catch (NumberFormatException e) {
System.out.println("\"n2\" is incorrect input, please provide an INT"); }
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 operator!, Please enter correct \"op\"");
System.exit(-1);
}
System.out.print(d);
}
}
可是编译时报错说: d1 和 d2 cannot find symbol。
我只是想用try...catch... 处理可能的 NumberFormatException。
还请高人指教。谢谢了。
测试代码如下:
public class TestArgs {
public static void main(String[] args) {
if(args.length<3) {
System.out.println(
"Usage: java TestArgs \"n1\" \"op\" \"n2\"");
System.exit(-1);
}
try {
double d1 = Double.parseDouble(args[0]);
} catch (NumberFormatException e) {
System.out.println("\"n1\" is incorrect input, please provide an INT"); }
try {
double d2 = Double.parseDouble(args[2]);
} catch (NumberFormatException e) {
System.out.println("\"n2\" is incorrect input, please provide an INT"); }
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 operator!, Please enter correct \"op\"");
System.exit(-1);
}
System.out.print(d);
}
}
可是编译时报错说: d1 和 d2 cannot find symbol。
我只是想用try...catch... 处理可能的 NumberFormatException。
还请高人指教。谢谢了。