题目要求
- 定义一个方法
analyzeScores(int[] scores),接收一个存储学生成绩的整型数组。
- 在方法内部完成以下统计:
- 计算平均分(保留 1 位小数)
- 找出最高分和最低分
- 统计及格(≥60 分)和不及格(<60 分)的人数
- 在 main 方法中定义一个成绩数组(例如:
{85, 92, 58, 77, 63, 45, 98, 70}),调用该方法并输出所有统计结果。
- 要求使用循环结构遍历数组,使用分支结构判断成绩是否及格。
思路分析
- 编写
analyzeScores(int[] scores) 方法;
- 在 main 方法中定义变量 arr;
- 在
analyzeScores 方法内部初始化变量:sum(总和), max(最高分), min(最低分), passCount(及格), failCount(不及格);
- 使用 for 循环遍历数组,找出最大值、最小值、及格人数、不及格人数;
- 在 for 循环外进行类型转换求平均数;
- 在
analyzeScores 里打印出最大值、最小值、及格人数、不及格人数;
- 再在 main 方法中调用
analyzeScores 方法。
代码实现
public class ScoreAnalysis {
public static void main(String[] args) {
int[] arr = {85, 92, 58, 77, 63, 45, 98, 70};
analyzeScores(arr);
}
public static void analyzeScores(int[] scores) {
int sum = 0;
int max = scores[0];
int min = scores[];
;
;
( ; i < scores.length; i++) {
scores[i];
sum += score;
(score > max) {
max = score;
} (score < min) {
min = score;
}
(score >= ) {
passCount++;
} {
failCount++;
}
}
() sum / scores.length;
System.out.println( + max);
System.out.println( + min);
System.out.println( + passCount);
System.out.println( + failCount);
System.out.printf(, average);
}
}