qq_言叶庭_0
2016-03-09 14:41
为什么这样做结果得到的是53,59,3
最开始score=53,进入if循环:53<60,所以进入内层的for循环,此时i=1,i<60-53(7),所以count+1=1,score+i(1)=53+1=54,而i经过i++也变为了2。 接下来进行for的第二次循环,i=2依然小于60-score(54)=6,所以循环继续,count+1=2,score+i(2)=56,而i变成了3. 再循环,i=3<60-score(56)=4,循环继续,count+1=3,score+i(3)=59,i++=4. 进入下一次循环,i>60-score(59),循环不成立,终止for循环,输出结果便是53,59,3
package com.asd1; public class text { public static void main(String[] args) { System.out.print("请输入考试成绩信息:"); int score=53; int count=0; System.out.println("加分前的成绩:"+score); for(int i=1;score<60;i++){ score++; count++; } System.out.println("加分后的成绩:"+score); System.out.println("共加了"+count+"次!"); } }
个人觉得单层循环足够解决此题。
Java入门第一季(IDEA工具)升级版
1165500 学习 · 17585 问题
相似问题