今天做题时解题思路需要用到for循环嵌套while循环,然后出现了死循环,代码如下:

       int num=1000;int ans=0;for(int i=2;i<=num;i++){int sum=0;while(i!=0){sum=sum+i%10;i=i/10;}if(sum%2==0){ans++;}}System.out.println(ans);

题目是:

给你一个正整数 num ,请你统计并返回 小于或等于 num 且各位数字之和为 偶数 的正整数的数目。正整数的 各位数字之和 是其所有位上的对应数字相加的结果。

觉得自己思路也没有错,就在while循环里面加了一行System.out.println( i );,来输出 i 的值,结果是一直再循环输出0,即可能是 i 虽然不满足条件,但也没有跳出while循环。

但当我在while循环外面,for循环内输出 i 的值,也是在不停循环0。思考后就发现,是while循环中把i的值不停变为0,这意味着用于for循环的 i 不停的从0开始,永远符合for循环条件中的i<=num。

后另外设一个值在while循环中判断就可以啦。

       int num=1000;int ans=0;for(int i=2;i<=num;i++){int sum=0;int t=i;while(t!=0) {//用i!=0会死循环sum = sum + t % 10;t = t / 10;}if(sum%2==0){ans++;}}System.out.println(ans); 

记住以后用for循环嵌套while循环中时,如果要用循环中的值来判断时,要另设一个变量,不能直接用for循环中的变量,防止在循环中改变变量值后,会一直满足条件无法结束循环。

for循环嵌套while循环死循环相关推荐

  1. Java for循环嵌套for循环,你需要懂的代码性能优化技巧

    前言 本篇分析的技巧点其实是比较常见的,但是最近的几次的代码评审还是发现有不少兄弟没注意到. 所以还是想拿出来说下. 正文 是个什么场景呢? 就是 for循环 里面还有 for循环, 然后做一些数据匹 ...

  2. MODE —— 输出一个高度和宽度固定的方框(知识点:for循环嵌套for循环)

    问题描述: 终端输入,需要的图形的高度和宽度,绘制图形. 运行结果: 代码部分: #include <stdio.h> int main() {unsigned int width = 0 ...

  3. python做循环嵌套_Python_循环嵌套

    感谢金角大王alex的解惑!!! 循环是什么? 转自维基的解释: 循环是一段在程序中只出现一次,但可能会连续运行多次的代码.循环中的代码会运行特定的次数,或者是运行到特定条件成立时结束循环,或者是针对 ...

  4. MODE —— 输入一个数字,求从1加到该数的和(知识点:for循环嵌套while循环)

    问题描述: 终端输入一个数字,求从1加到这个数字的和! 运行结果: 代码部分: #include <stdio.h> int main() {unsigned int sum = 1UL; ...

  5. java for循环 嵌套for循环-标签使用

    continue和break可以改变循环的执行流程,但在多重循环中,这两条语句无法直接从内层循环跳转到外层循环.在C语言中,可以通过goto语句实现多重循环的跳转,但在非循环结构中使用goto语句会使 ...

  6. for循环嵌套for循环

    for (var i = 0;i < 5; i++) {document.write("外"+'<br/>');for (var j = 0; j < 3; ...

  7. 【C语言初学必看】一知半解的for循环嵌套for循环

  8. 【循序渐进学Python】Python中的循环(二)——while循环与嵌套

    [循序渐进学Python]Python中的循环--while循环与嵌套 while循环(在给定的判断条件为 True 时执行循环体,False退出循环体) 当满足一定条件的时候才循环,具体循环多少次没 ...

  9. Java for循环和Java for循环嵌套详解

    for 语句是应用最广泛.功能最强的一种循环语句.大部分情况下,for 循环可以代替 while 循环.do while 循环. for 语句是一种在程序执行前就要先判断条件表达式是否为真的循环语句. ...

最新文章

  1. 计算机接口与通信技术考试题,全国2010年10月自学考试计算机通信接口技术试题...
  2. ecshop将编辑器更换为kindeditor
  3. 超全面Python基础入门教程【十天课程】博客笔记汇总表
  4. Beetlex之tcp/tls服务压测工具
  5. aspnet core 2.1中使用jwt从原理到精通一
  6. oracle11g AUD$维护
  7. 46. Permutations
  8. 【Es】Es 选主流程
  9. tcpdump: no suitable device found
  10. Facebook Cache Token Issue
  11. html5 (个人笔记)
  12. Android隐藏app应用图标(隐式启动)
  13. Oracle11g创建、删除表空间语句
  14. sklearn中lstm_LSTM
  15. python 报价机器人_100行代码实现报价机器人公众号后台
  16. safari支持Ajax同步请求吗,在同步“Ajax”请求之前强制在Webkit(Safari和Chrome)中重绘UI...
  17. 一切系统都是分布式的
  18. 简单的学生网页作业源码 基于html css javascript仿淘宝购物商城设计毕业论文源码
  19. qt android png透明,Qt处理照片实现白色背景转透明
  20. refrain from caffeine

热门文章

  1. 领红包场景的数据一致性解决方案
  2. java 面向对象的多态性——向上转型与向下转型
  3. 深度学习: 注意力模型 (Attention Model)
  4. Eclipse 中添加注释,注释中包含作者时间等
  5. WindowsPCHealthCheckSetup/电脑健康状况检查Windows11/Win11升级检查
  6. 微信输入法来了,一起来体验一下吧
  7. mysql mac 图形化界面_mac安装mysql图形化工具?
  8. 香港城市大学刘晨老师组招收机器学习方向全奖博士/博后/研究助理
  9. php中readfile的用法,怎么在php中利用readfile() 函数设置文件的大小
  10. ffmpeg将视频从隔行扫描转为逐行扫描