 
		qq_析木_0
2017-03-14 22:38
/*
定义一个int型的一维数组,包含40个元素,用来存储
每个学员的成绩,循环产生40个0~100之间的随机整数,
将它们存储到一维数组中,然后统计成绩低于平均分的学
员的人数,并输出出来
*/
import java.util.Random;
public class HomeWork03{
      public static void main(String[] args){
          int[] score=new int[40];
          int sum=0;
          int average=0;
          //int count=0;
          //循环遍历数组,赋值
          for(int element:score){
               Random random=new Random();
               element=random.nextInt(100);
               System.out.println(element);
               sum+=element; 
               }
           //求平均值
               average=sum/40;
               System.out.println("平均值为:"+average);
           //循环遍历数组,如果分数低于平均值,人数就加1
           int count=0;
           for(int i=0;i<score.length;i++){
           	     if(score[i]<average){
           	     	  count+=1;
           	     } 
           }
            System.out.println("分数低于平均分的人数为:"+count);
      }
}代码运行结果为count=40,结果明显是错误的,但是找不到原因。
 
				//循环遍历数组,赋值
for(int element:score){
Random random=new Random();
element=random.nextInt(100);
System.out.println(element);
sum+=element;
}
你这里做循环的时候,只是给总成绩付了值,但是成绩数组却没有赋值,当循环结束的时候数组是空的
 
				上面循环给数组里的元素赋值有问题,不信你在外面打印一个Arrays.toString(score)看看,元素其实都是0,换成for循环 score[i]这种来赋值就OK
Java入门第一季(IDEA工具)
1168089 学习 · 18754 问题
相似问题