java小程序出错,加try catch以后就编译出错,希望高手指点!到底是哪里有问题呢?

publicclassSuanshu{publicstaticvoidmain(String[]args){if(args.length<3){System.out.pr... public class Suanshu {
public static void main(String [] args){

if(args.length<3){
System.out.println("请输入");
System.exit(-1);
}

try{
double d1 = Double.parseDouble(args [0]);
}catch (NumberFormatException a){
System.out.println("输入错误,请输入数字");
}finally {System.out.println("出错了");}
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");
}

System.out.println(d);
}
}
展开
 我来答
llei32wang
2012-09-02 · TA获得超过2736个赞
知道大有可为答主
回答量:1478
采纳率:60%
帮助的人:1410万
展开全部
double d2 = Double.parseDouble(args [2]);也要放在try里,也有可能出现转换异常的。
追问
好像不是这个问题,刚才试过了,全放进去也出错的!系统好像找不到d1 d2变量了。
追答
当然了,出现异常后d1 d2都是没有定义,后边就不能用的。把声明和赋值分开就好了。
比如
double d1=0;
double d2=0;

try{
d1 = Double.parseDouble(args [0]);
d2 = Double.parseDouble(args [2]);
}catch (NumberFormatException a){
System.out.println("输入错误,请输入数字");
}
不要finally {System.out.println("出错了");}
finally内是出不出现异常都执行的。
wu123can0827
2012-09-02 · TA获得超过201个赞
知道答主
回答量:88
采纳率:0%
帮助的人:53.1万
展开全部
public class Suanshu {
public static void main(String [] args){

if(args.length<3){
System.out.println("请输入");
System.exit(-1);
}
double d1 = 0; //定义外部变量;
double d2 = 0;//定义外部变量;
try{
d1 = Double.parseDouble(args [0]);
}catch (NumberFormatException a){
System.out.println("输入错误,请输入数字");
}finally {System.out.println("出错了");}
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");
}

System.out.println(d);
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式