- 统计一组学生成绩的总分、平均分、最高分和最低分
- 假如一组学生100个人,利用前面所学的知识,程序就需要声明10个变量s c o r e 1 , s c o r e 2 , . . . , s c o r e 100 \mathrm{score1, score2, ..., score100}score1,score2,...,score100,来分别记住每位学生的成绩,计算平均分
- average=100score1+score2+...+score100会显得特别麻烦,此时我们用一个数组来保存100个成绩,通过数组的索引或下标来访问每一个成绩,可以使用循环来处理。
(一)编程实现
- 在
net.huawei.p02.t07
包里创建Task07
类
package net.huawei.p02.t07;
import java.util.Scanner;
/**
* 功能:统计一组学生成绩
* 作者:华卫
* 日期:2022年04月07日
*/
public class Task07 {
public static void main(String[] args) {
// 声明部分
double[] scores = new double[10]; // 双精度一维数组,10个元素,scores[0], scores[1],..., scores[9]
double sum, average, max, min;
Scanner sc = new Scanner(System.in);
// 输入部分
for (int i = 0; i < scores.length; i++) {
System.out.print("scores[" + i + "] = ");
scores[i] = sc.nextDouble();
}
// 处理部分
sum = 0;
for (int i = 0; i < scores.length; i++) {
sum = sum + scores[i];
}
average = sum / scores.length;
max = Double.MIN_VALUE;
for (int i = 0; i < scores.length; i++) {
if (scores[i] > max) {
max = scores[i];
}
}
min = Double.MAX_VALUE;
for (int i = 0; i < scores.length; i++) {
if (scores[i] < min) {
min = scores[i];
}
}
// 输出部分
System.out.println("sum = " + sum);
System.out.println("average = " + average);
System.out.println("max = " + max);
System.out.println("min = " + min);
}
}
运行程序,查看结果
可以利用增强for循环来遍历数组
课堂练习任务
- 1、确保输入成绩在[0, 100]范围内
- 任务2、确定最高分或最低分的位置