读书人

笨人新手求大神给小弟我讲讲上面while

发布时间: 2012-08-11 20:50:31 作者: rapoo

笨人新手求大神给我讲讲下面while循环,下面程序中的count为什么为3
int score = 0;
int sum = 0;
in count = -1;

while(score != -1){
count++;
sum += score;
System.out.print("输入一个数:");
score = scanner.nextInt();
}
System.out.println("平均:"+ (double)sum/count);

//程序只写关键的一部分

运行后分别输入:90,60,30,结束时输入-1. 程序所得结果为60,
这样算起来count就为3 ,小弟就是不知怎么为3,觉得是2.忘各位大侠指点,万分感激

[解决办法]
首先,第一次进入循环,score=0,count=0,再输入score=90
第二次进入循环,score=90,count=1,再输入score=60
第三次进入循环,score=60,count=2,再输入score=30
第四次进入循环,score=30,count=3,再输入score=-1
最后进入循环判断,由于score=-1,所以退出循环
[解决办法]
int score = 0;
int sum = 0;
in count = -1;

while(score != -1){
count++;
sum += score;
System.out.print("输入一个数:");
score = scanner.nextInt();
}

第一次的时候 score = 0
所以 count++ ; //count = 0 ;
输入90 , score = 90
count++ ; //count = 1 ;

输入60 , score = 60
count++ ; //count = 2 ;
输入30 ,score =30
count++ ; //count = 3 ;
输入 -1 ,不进入 while循环体,所以此时 count = 3 ;

必须注意 ,你的count定义时赋值为 -1 ;
[解决办法]

Java code
package com.cai;import java.util.Scanner;public class TestAvg {    /**     * @param args     */    public static void main(String[] args) {        int score = 0;        int sum = 0;        int count = -1;        Scanner scanner = new Scanner(System.in) ;        while (score != -1) {            count++;            sum += score;            System.out.println(score + " --- " + count) ;            System.out.print("输入一个数:");            score = scanner.nextInt();        }        System.out.println("平均:" + (double) sum / count);    }} 

读书人网 >J2SE开发

热点推荐