匿名用户
1级
2013-10-21 回答
import java.util.Scanner;
public class Score {
/**
* 判断是否及格
* @param score 输入分数,avg为平均分
* @return true为及格,false不及格
*/
public static Boolean getValue(int score,int avg){
if(score>=avg){
return true;
}
return false;
}
public static void main(String[] args) {
int sum = 0;//记录合格的人数
Scanner sc = new Scanner(System.in);
System.out.print("输入成绩的个数:");
int n = sc.nextInt();
System.out.print("输入平均分:");
int avg = sc.nextInt();
System.out.print("开始输入成绩:");
int[] score = new int[n];
for(int i=0;i
score[i] = sc.nextInt();
if(Score.getValue(score[i], avg)){
sum++;
}
}
System.out.println("合格的人数为"+sum);
}
}
运行结果:
输入成绩的个数:8
输入平均分:60
开始输入成绩:34 56 78 98 60 23 65 89
合格的人数为5
追问:
谢了,但是题目说了 成绩个数不确定。。平均分是自己算不过那不是重点。主要是数组大小不确定又不能用变长数组啊。。码这么多字也挺幸苦的。。。
追答:
如果是人数不定的话,肯定不是控制台输入了,控制台输入一定是知道人数的
/**
* 判断及格的人数
* @param n 人数
* @param avg 平均分
* @return 返回人数
*/
public static int getNo(int[] n,int avg){
int sum = 0;
for(int i=0;i
if(Score.getValue(n[i], avg)){
sum++;
}
}
return sum;
}