Java之断点调试

断点调试时Java中的内功心法,所以我就写我的一次断点调试经历吧    在编程中,总是不可避免的遇见错误,有些错误IDE或指出,而有些逻辑性的错误IDE并不会指出,所以这时我们就需要用到断点调试技术,毕竟有句话说“当局者迷”
    在断点调试时,最重要的是设置断点,毕竟如果程序有很多行,从头开始太浪费时间了。所以合理的设置断点调试的条件很重要,我们可以通过结果推断错误发生的原因,即如果出现错误,首先分析结果出现的可能原因,通过可能出现的原因来设置断点。
     eg:有一道题目是生成一个范围在[15  35]之间的随机数,将其存入一个长度为10 的数组中,要求值不能重复,所以我按照要求编写了如下程序
      
但是我运行程序之后,发现一直不能停止,但是当时只是以为需要时间比较久,后来关闭重开有几次是很快结束了,但是更多的是卡住。人工检查了程序几次,并没有发现什么错误,但是运行就是有问题,所以使用了断点调试,因为是结果出现了问题,但是输出语句不太可能出现问题,所以必然是循环的时候有问题,所以我将断点设置在for循环中,通过断点调试我发现在元素没有出现重复时,都不会出现问题,只要元素出现重复,程序就会进入死循环,经过仔细的检查发现flag的设置有问题。

flag在for循环外面,内部一旦设置为true之后就不能自动重置了,所以需要将flag设置在for循环内部。
经过修改,程序果然不会再死循环了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值