编程练习题

来源:5-1 编程练习

qq_言叶庭_0

2016-03-09 14:41

http://img.mukewang.com/56dfc55b0001459405280455.jpg为什么这样做结果得到的是53,59,3

写回答 关注

2回答

  • 黄male
    2016-03-09 15:15:21
    已采纳
    最开始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+"次!");
    }
    }

    个人觉得单层循环足够解决此题。

    黄male 回复qq_言叶庭...

    我也是刚接触,以后咱们一起学习,互相帮助哈

    2016-03-09 15:49:13

    共 2 条回复 >

  • sfmf
    2016-03-09 15:29:28
    score=score+i;改成score=score+1;应该合理些吧。

    sfmf 回复qq_言叶庭...

    我是菜鸟,就是看看别人说的,然后学习一下,多交流哈

    2016-03-09 15:46:54

    共 2 条回复 >

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165500 学习 · 17585 问题

查看课程

相似问题