统计学生成绩
统计一组学生成绩的总分、平均分、最高分和最低分
假如一组学生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,来分别记住每位学生的成绩,计算平均分
a v e r a g e = s c o r e 1 + s c o r e 2 + . . . + s c o r e 100 100 \mathrm{average}=\displaystyle\frac{\mathrm{score1+score2+…+score100}}{100}average=
100
score1+score2+…+score100
会显得特别麻烦,此时我们用一个数组来保存100个成绩,通过数组的索引或下标来访问每一个成绩,可以使用循环来处理。
在package p02.t01包里创建Task07类
package p02.t01;
import java.util.Scanner;
/**
-
功能:
-
作者:胡仕虎
-
日期:2022年06月06日
*/
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);
}
}
运行程序,查看结果