下面是一个Java中的数组综合案例,实现了对学生成绩的统计和分析。
import java.util.Scanner;
public class ScoreAnalysis {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入学生人数:");
int count = scanner.nextInt();
int[] scores = new int[count];
int sum = 0;
for (int i = 0; i < count; i++) {
System.out.print("请输入第" + (i + 1) + "个学生的成绩:");
int score = scanner.nextInt();
scores[i] = score;
sum += score;
}
double average = sum * 1.0 / count;
System.out.println("总分:" + sum);
System.out.println("平均分:" + average);
System.out.println("最高分:" + findMax(scores));
System.out.println("最低分:" + findMin(scores));
System.out.println("及格人数:" + countPass(scores));
}
public static int findMax(int[] scores) {
int max = scores[0];
for (int i = 1; i < scores.length; i++) {
if (scores[i] > max) {
max = scores[i];
}
}
return max;
}
public static int findMin(int[] scores) {
int min = scores[0];
for (int i = 1; i < scores.length; i++) {
if (scores[i] < min) {
min = scores[i];
}
}
return min;
}
public static int countPass(int[] scores) {
int count = 0;
for (int i = 0; i < scores.length; i++) {
if (scores[i] >= 60) {
count++;
}
}
return count;
}
}该程序首先从用户输入中获取学生人数,然后创建一个具有指定大小的整数数组,用于存储学生的成绩。接下来,程序依次获取每个学生的成绩,并将其存储在数组中。然后,程序使用一些方法来分析这些成绩,包括计算总分、平均分、最高分、最低分以及及格人数。
其中,findMax 方法用于查找数组中的最大值,findMin 方法用于查找数组中的最小值,countPass 方法用于计算及格的学生人数。
这个案例展示了如何在Java中使用数组和方法来实现复杂的计算和分析任务。通过定义适当的方法,可以使代码更加模块化和可维护,提高代码的重用性和可读性。