import java.util.*;
public class StudentManagementSystem {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入学生人数:");
int StudentNumber = input.nextInt();
System.out.print("请输入课程数目:");
int CourseNumber = input.nextInt();
String[] StudentName = new String[StudentNumber]; /*存储学生姓名*/
String[] CourseName = new String[CourseNumber]; /*存储课程名称*/
int[][] StudentMark = new int[StudentNumber][CourseNumber]; /*存储学生成绩*/
int[] Totalscore = new int[StudentNumber]; /*存储成绩总分*/
int[] Average = new int[StudentNumber]; /*存储平均分*/
String[] Gather = new String[StudentNumber]; /*数组集合*/
for(int i=0;i<CourseName.length;i++) {
/*定义课程名称*/
System.out.print("请定义第"+(i+1)+"门课:");
CourseName[i] = input.next();
}
for(int i=0;i<StudentName.length;i++) {
int Sum = 0; /*定义总分Variate并初始化*/
String GatherMark = ""; /*定义一个成绩的集合并初始化*/
/*定义学生姓名*/
System.out.print("请输入第"+(i+1)+"位学生的姓名:");
StudentName[i] = input.next();
for(int j=0;j<CourseName.length;j++) {
/*定义学生成绩*/
System.out.print("请输入"+StudentName[i]+CourseName[j]+"成绩:");
/*存储某个特定学生的特定成绩*/
StudentMark[i][j] = input.nextInt();
Sum+= StudentMark[i][j]; /*叠加某科目的成绩*/
GatherMark+=StudentMark[i][j]+"\t"; /*将科目成绩集合为一个变量GatherMark*/
}
Totalscore[i] = Sum; /*叠加某学生的成绩*/
Average[i] =Sum / StudentNumber; /*学生平均分*/
/*把所有素组组合成一个数组集合Gather*/
Gather[i] = StudentName[i]+"\t"+GatherMark+Totalscore[i]+"\t"+Average[i];
}
for(int i=0;i<Totalscore.length-1;i++) { /*对总分进行冒泡排序*/
for(int j=0;j<Totalscore.length-1;j++) {
if(Totalscore[j]<Totalscore[j+1]) {
int t = Totalscore[j]; String T = Gather[j];
Totalscore[j] = Totalscore[j+1]; Gather[j] = Gather[j+1];
Totalscore[j+1] = t; Gather[j+1] = T;
}
}
}
/*结果输出*/
System.out.print("学生");
for(int i=0;i<CourseName.length;i++) {
System.out.print("\t"+CourseName[i]);
}
System.out.print("\t总分\t平均分\t排行榜");
System.out.println();
for(int i=0;i<StudentName.length;i++) {
System.out.println(Gather[i]+"\t第"+(i+1)+"名");
}
}
}
//效果如下:
/*
请输入学生人数:3
请输入课程数目:3
请定义第1门课:数学
请定义第2门课:语文
请定义第3门课:英语
请输入第1位学生的姓名:张三
请输入张三数学成绩:78
请输入张三语文成绩:89
请输入张三英语成绩:90
请输入第2位学生的姓名:李四
请输入李四数学成绩:56
请输入李四语文成绩:58
请输入李四英语成绩:59
请输入第3位学生的姓名:王五
请输入王五数学成绩:98
请输入王五语文成绩:97
请输入王五英语成绩:96
学生 数学 语文 英语 总分 平均分 排行榜
王五 98 97 96 291 97 第1名
张三 78 89 90 257 85 第2名
李四 56 58 59 173 57 第3名
*/
Java数组实例-实现简易的学生成绩管理系统
最新推荐文章于 2024-06-16 19:23:18 发布