Java数组实例-实现简易的学生成绩管理系统

该博客展示了如何利用Java数组实现一个简单的学生成绩管理系统。系统包括输入学生人数和课程数目,定义课程,录入学生姓名及各科成绩,计算总分、平均分,并通过冒泡排序显示成绩排行榜。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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名
*/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值