当前位置: 代码迷 >> J2SE >> 笨人新手求大神给小弟我讲讲上面while循环,上面程序中的count为什么为3
  详细解决方案

笨人新手求大神给小弟我讲讲上面while循环,上面程序中的count为什么为3

热度:245   发布时间:2016-04-24 00:38:27.0
笨人新手求大神给我讲讲下面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);    }}
  相关解决方案