java高手 请帮帮忙~~帮我看一下~~~谢谢~~

publicclassExample4_33{publicstaticvoidmain(Stringargs[]){intn=0,m=0,t=555;try{m=Inte... public class Example4_33
{ public static void main(String args[ ])
{ int n=0,m=0,t=555;
try{ m=Integer.parseInt("8888");
n=Integer.parseInt("abc789");
t=9999; //这里为什么t没有付赋值机会呢??
}
catch(NumberFormatException e)
{ System.out.println("发生异常:"+e.getMessage());
e.printStackTrace();
n=123;
}
System.out.println("n="+n+",m="+m+",t="+t);
}
}

为什么t在最后的结果是555而不是9999呢??
展开
 我来答
百度网友feaac8c7c
2009-05-24 · TA获得超过998个赞
知道小有建树答主
回答量:168
采纳率:0%
帮助的人:171万
展开全部
修改后的程序如下:
public class Example4_33 {
public static void main(String args[]) {
int n = 0, m = 0, t = 555;
try {
//t = 9999; 把这句代码调到最前面,也同样可以
m = Integer.parseInt("8888");
n = Integer.parseInt("abc789");
} catch (NumberFormatException e) {
System.out.println("发生异常:" + e.getMessage());
e.printStackTrace();
n = 123;
}finally{
t=9999;
}
System.out.println("n=" + n + ",m=" + m + ",t=" + t);
}
}

原因解释:因为函数在运行到n=Integer.parseInt("abc789"); 这句时会抛出异常,那么这句代码后面的语句自然就不会执行到了,所以,你的问题就在这儿。

解决:
1、可以将t = 9999; 把这句代码调到try{}内的最前面,如上面所示
2、或者再加上一个fianlly语句,不管try部分会不会抛出异常,finally部分都会执行的,除非遇到特出情况,如系统退出。
65288664
2009-05-24 · TA获得超过952个赞
知道小有建树答主
回答量:2359
采纳率:0%
帮助的人:1143万
展开全部
n=Integer.parseInt("abc789"); 这里抛出异常,直接跳到catch语句.
t=9999;没机会执行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bitcarter
2009-05-24
知道答主
回答量:3
采纳率:0%
帮助的人:0
展开全部
因为:n=Integer.parseInt("abc789"); 发生了异常,程序会直接跳转到catch语句来处理异常现象,随后顺序执行直至最后,而不执行t=9999;
所以t还是555.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
h111z
2009-05-24 · 超过10用户采纳过TA的回答
知道答主
回答量:143
采纳率:0%
帮助的人:0
展开全部
异常啊,,,,
你可以用输出语句测试下,,,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhangzhen0301
2009-05-24 · TA获得超过786个赞
知道小有建树答主
回答量:329
采纳率:0%
帮助的人:124万
展开全部
因为try...catch就是捕捉异常的语句.所以发生异常后会自动跳转到catch部分.如果没有try..catch则程序就会中断或崩溃!

如果你想让t输出9999
那就加上个finally语句,finally语句是肯定要执行的,所以你把t=9999放到finally语句块里就可以

有什么问题可以通过百度hi找我,我每天都挂着
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式