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工具)升级版
1167352 学习 · 18630 问题
相似问题