课程管理系统 java

设计一个课程管理系统,能录入各科目及学生成绩,排名,显示总分及平均分。

用数组来实现,一维的二维的还有字符数组,最主要的还是如何进行排名问题,我们都知道java数组有这强大的功能,有自动升阶排序,但放在这里显然行不同,如何将一个学生的信息完整的按平均分来正确排名次呢,既有名字也有分数,于是,我们可以用一个字符数组,将他们串连起来,放在字符数组里面,然后我们对这个字符数组按照平均分来用选择排序就行了。

具体代码如下:

import java.util.*;
public class 课程管理系统 {
	public static void main(String[] agrs){
		Scanner input=new Scanner(System.in);
		System.out.print("请输入学生人数:");
		int student=input.nextInt();
		System.out.print("请输入课程数:");
		int course=input.nextInt();
		int [][] arr=new int[student][course+3];
		String [] name=new String[student];
		String [] biaoti=new String[course+4];
		String [] str=new String[student];
		biaoti[0]="姓名";
		biaoti[course+1]="平均分";
		biaoti[course+2]="总分";
		biaoti[course+3]="排名";
		int sum=0;
		//定义课程名
		for(int i=1;i<=course;i++){		
			System.out.print("请定义第"+i+"门课程名:");
			biaoti[i]=input.next();
		}
		
		for(int i=0;i<student;i++){		
			System.out.print("请输入第"+(i+1)+"个学生姓名:");
			name[i]=input.next();
			for(int j=1;j<=course;j++){
				System.out.print("请输入"+name[i]+"的"+biaoti[j]+"成绩");
				arr[i][j-1]=input.nextInt();
				sum+=arr[i][j-1];
			}
			arr[i][course]=sum/course;
			arr[i][course+1]=sum;
			sum=0;	
		}
		
		
		for(int i=0;i<student;i++){
			String s=" ";
			for(int j=0;j<course+2;j++){
				s+=arr[i][j]+"\t";
			}
			str[i]=name[i]+"\t"+s;
		}
		
		
		for(int i=0;i<course+4;i++){
			System.out.print(biaoti[i]+"\t");
		}
		//排名
		for(int i=0;i<student-1;i++){
			for(int j=i+1;j<student;j++){
				if(arr[i][course]>arr[j][course])
				{
					String max;
					max=str[j];
					str[j]=str[i];
					str[i]=max;
				}
			}		
		}
		
		System.out.println();
		for(int i=student-1,j=1;i>=0;i--,j++){
			System.out.println(str[i]+"第"+j+"名");
		}	
	}
}



运行结果如下图:


  • 4
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值