為什么if循環(huán)不起作用呢?
/* 定義一個(gè)int型的一維數(shù)組,包含40個(gè)元素,用來存儲 每個(gè)學(xué)員的成績,循環(huán)產(chǎn)生40個(gè)0~100之間的隨機(jī)整數(shù), 將它們存儲到一維數(shù)組中,然后統(tǒng)計(jì)成績低于平均分的學(xué) 員的人數(shù),并輸出出來 */ 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; ??????????//循環(huán)遍歷數(shù)組,賦值 ??????????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); ???????????//循環(huán)遍歷數(shù)組,如果分?jǐn)?shù)低于平均值,人數(shù)就加1 ???????????int?count=0; ???????????for(int?i=0;i<score.length;i++){ ??????????? ?????if(score[i]<average){ ??????????? ????? ??count+=1; ??????????? ?????}? ???????????} ????????????System.out.println("分?jǐn)?shù)低于平均分的人數(shù)為:"+count); ??????} }
代碼運(yùn)行結(jié)果為count=40,結(jié)果明顯是錯(cuò)誤的,但是找不到原因。
2017-03-14
?//循環(huán)遍歷數(shù)組,賦值
??????????for(int?element:score){
???????????????Random?random=new?Random();
???????????????element=random.nextInt(100);
???????????????System.out.println(element);
???????????????sum+=element;?
???????????????}
你這里做循環(huán)的時(shí)候,只是給總成績付了值,但是成績數(shù)組卻沒有賦值,當(dāng)循環(huán)結(jié)束的時(shí)候數(shù)組是空的
2017-03-14
上面循環(huán)給數(shù)組里的元素賦值有問題,不信你在外面打印一個(gè)Arrays.toString(score)看看,元素其實(shí)都是0,換成for循環(huán) score[i]這種來賦值就OK