java - 为什么这个循环我跳不出来?
问题描述
1.问题描述:一直死循环,反复打印,直到出错
2.相关代码
int[] Aarray = new int[]{2,4,5,6,2};int[] Barray = new int[]{3,6,2,4,6};for (int i = 0 ;i < 10 ;i ++ ){ if (i < 5) {System.out.print(Aarray[i] + 't'); }else { i -= 5;System.out.print(Barray[i] + 't'); }}


问题解答
回答1:当i = 1, 2, 3, 4 不说了,打印1 2 3 4当i = 5时进入else语句块i -= 5 即为 i = i-5 结果是i = 0吧,然后i++
然后i又从1 开始循环。for循环的终止条件 i < 10永远不能终止
回答2:跳出来就有鬼了。。。。
回答3:i -= 5; 是不是写错了。
每次循环时,i++ 把 i 加 1,但是 i -= 5; 又把 i 减 5。
回答4:i=5时,if不成立,进入else,做完 i -= 5; 结果就是 i=0;然后出else,i++之后,i=1;又进入if...当i=5时...
回答5:简单,你把程序自己脑子里走一遍就清楚了啊,一开始i=0,小于5,输出,然后i++到1,继续小于5,在输出,一直这样直到i=5,然后i<5不成立,就走else那个分支,i-=5;i又小于0了,然后又开始进入下一次循环像开头那样,所以出现无限死循环
回答6:你把i每个值的情况都看一下就一目了然了,在i>5的时候,i就进入了else,这个时候i又变成了0,也就是说i永远到不了i>10这个终止循环的条件
回答7:逻辑错了,加到6后,又减去5,回到1,然后又每次加1,加到6之后,又减去5,回到1,不断地循环。
回答8:逻辑有问题 无限死循环
回答9:这种问题建议先找个入门书或者入门视频看10分钟
相关文章:
1. html5 - 用h5本地存储是否安全?2. javascript - weexpack编译出错 Cannot find module ’escape-string-regexp’3. node.js - 在nodejs环境中如何配置webhook以实现hexo博客的自动更新?4. css3 - 新版支付宝 账单页面滑动时月份栏被下一个月给顶上去是什么效果5. javascript - 安装了babel,不起作用6. node.js - win10如何安装并使用babel?7. javascript - 移动端,当出现遮罩层的时候,遮罩层里有div是超出高度scroll的,怎么避免滑动div的时候,body跟随滑动?8. 前端 - date属性的input文本框在微信上会出现奇怪的边框?9. node.js - 我是一个做前端的,求教如何学习vue,node等js引擎?10. javascript - 关于用户登录和信息存储的问题

网公网安备