Isayes
2015-02-06 20:31
为什么我的输出结果不是999,而是381?
java.lang.ArithmeticException: / by zero at com.imooc2.TryCatchTest.test(TryCatchTest.java:28) at com.imooc2.TryCatchTest.main(TryCatchTest.java:9) java.lang.ArithmeticException: / by zero at com.imooc2.TryCatchTest.test2(TryCatchTest.java:49) at com.imooc2.TryCatchTest.main(TryCatchTest.java:12) 循环抛出异常了!!! test()方法执行完毕!返回值为:-1 循环抛出异常了!!! 这是finally!!哈哈!! 我是Result!!我的值是:381 我想大声告诉你!test2执行完毕!
我的test2()是如下,一样的啊
public int test2() { int divider = 10; int result = 100; try { while (divider > -1) { divider--; result = result + 100 / divider; } return result; } catch (Exception e) { e.printStackTrace(); System.out.println("循环抛出异常了!!!"); return 999; }finally{ System.out.println("这是finally!!哈哈!!"); System.out.println("我是Result!!我的值是:" + result); } }
你是不是搞错了?如果要输出结果到控制台的话是需要system.out.println()来输出结果,但是你却使用了retrun 999,这个结果是返回值,你没有打印该返回值,你可以在代码int result2 = tct.test2();的语句下面写上System.out.println(result2);看看是不是这样的,还有以后提问的话,希望你把源码贴出来,那样的话别人就会复制过去帮你调试,而不是图片的方式贴出来,谁帮你看着图片一个字母的敲出来???还帮你测试?
我也有同样的问题!!!求解释
其实,是要把那句return 999;改成
return result=999;
那为什么结果是会存在且为381呢?who knows?
截图,跟编译器有关系吗?
代码如下
Java入门第三季
409792 学习 · 4340 问题
相似问题
回答 2
回答 3
回答 1
回答 1
回答 5