为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我的输出结果不是999,而是381?(原谅我,我视频没看完发的。。。额)

为什么我的输出结果不是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);
		}
	}


正在回答

4 回答

你是不是搞错了?如果要输出结果到控制台的话是需要system.out.println()来输出结果,但是你却使用了retrun 999,这个结果是返回值,你没有打印该返回值,你可以在代码int result2 = tct.test2();的语句下面写上System.out.println(result2);看看是不是这样的,还有以后提问的话,希望你把源码贴出来,那样的话别人就会复制过去帮你调试,而不是图片的方式贴出来,谁帮你看着图片一个字母的敲出来???还帮你测试?

1 回复 有任何疑惑可以回复我~
#1

Isayes 提问者

非常感谢!
2015-02-06 回复 有任何疑惑可以回复我~
#2

Isayes 提问者

哦哦,说的是,嗯嗯!
2015-02-06 回复 有任何疑惑可以回复我~

我也有同样的问题!!!求解释

0 回复 有任何疑惑可以回复我~

其实,是要把那句return 999;改成

return result=999;

那为什么结果是会存在且为381呢?who knows?

0 回复 有任何疑惑可以回复我~
#1

Isayes 提问者

哦,是try里面的result值呗。。。
2015-02-06 回复 有任何疑惑可以回复我~
#2

可乐维他奶

你算法出错了,
2015-02-06 回复 有任何疑惑可以回复我~
#3

Isayes 提问者 回复 可乐维他奶

额,哪里,要我贴代码给你帮我看看吗?
2015-02-06 回复 有任何疑惑可以回复我~
#4

Isayes 提问者 回复 Isayes 提问者

为什么呢?
2015-02-06 回复 有任何疑惑可以回复我~
#5

可乐维他奶 回复 可乐维他奶

这个算法本来就是算出381这个结果的,你说的999应该是其他算来的吧
2015-02-06 回复 有任何疑惑可以回复我~
#6

可乐维他奶 回复 Isayes 提问者

你那条算得公式得到的结果是这样的100 + 100/9 + 100/8 + 100/7 + 100/6 +100/5 + 100/4 + 100/3 +100/2 + 100/1 ,你看看结果是不是这个?不知道你怎么会得出999这个值来哦。
2015-02-06 回复 有任何疑惑可以回复我~
#7

可乐维他奶 回复 Isayes 提问者

从你源码的while循环里的算法的来的,你换个小点值来自己算算吧
2015-02-06 回复 有任何疑惑可以回复我~
#8

Isayes 提问者 回复 可乐维他奶

好的,多谢!
2015-02-06 回复 有任何疑惑可以回复我~
查看5条回复

http://img1.sycdn.imooc.com//54d4b4a400010eee05540341.jpg

截图,跟编译器有关系吗?

代码如下

http://img1.sycdn.imooc.com//54d4b5150001a92d06660868.jpg

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么我的输出结果不是999,而是381?(原谅我,我视频没看完发的。。。额)

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信