黑马程序员——java学习8(学生管理系统)

---------------------- ASP.Net+Android+IO开发S.Net培训、期待与您交流! ----------------------

import java.util.*;
public class xs{
	public static void main(String[] args){
		Scanner in=new Scanner(System.in);
		System.out.println("请输入学生的人数");
		int student=in.nextInt();//存储学生的人数
		System.out.println("请输入课程数目");
		int classum=in.nextInt();//存储课程的数目
		String[] classname=new String[classum];//声明一个String数组用来存储学生的姓名
		String[] studentname=new String[student];//声明一个String数组用来存储课程的名称
		int[][] score=new int[student][classum];
		int[] sum=new int[student];
		int[] avg=new int[student];
		String[] str=new String[student];
		/*
		*用来循环的存储课程的名称
		*
		*/
		for(int i=0;i<classname.length;i++){
			System.out.println("请定义第"+(i+1)+"门课是什么");
			classname[i]=in.next();
		}
		/*
		*用来录入学生的各科成绩
		*
		*/
		for(int i=0;i<studentname.length;i++){
			int S=0;//声明一个S,初始值为0
			System.out.println("请输入第"+(i+1)+"学生的名字");
			studentname[i]=in.next();//用来存储学生的姓名
			String str11="";
			for(int j=0;j<classname.length;j++){
				System.out.println("请输入"+studentname[i]+"\t"+classname[j]+"的成绩");
				score[i][j]=in.nextInt();//用来存储特定学生的特定成绩
				S+=score[i][j];
				str11+=score[i][j]+"\t";
			}
			sum[i]=S;//求出此同学的总分存入总分数组
			avg[i]=S/classum;//求出此同学的平均分存入平均分数组
			str[i]=studentname[i]+"\t"+str11+sum[i]+"\t"+avg[i];
		}
		for(int i=0;i<sum.length-1;i++){
			for(int j=0;j<sum.length-1;j++){
				if(sum[j]<sum[j+1]){
					int t1=sum[j];	String t2=str[j];
					sum[j]=sum[j+1];	str[j]=str[j+1];
					sum[j+1]=t1;	str[j+1]=t2;
				}
			}
		}
		/*
		效果输出
		*/
		System.out.print("学生"+"\t");
		for(int i=0;i<classname.length;i++){
			System.out.print(classname[i]+"\t");//循环输出每个科目的名称
		}
		System.out.print("总分\t平均分\t排行榜"); 
		System.out.println();
		for(int i=0;i<student;i++){
			System.out.println(str[i]+"\t第"+(i+1)+"名");//起换行的作用
		}
	}
}


---------------------- ASP.Net+Android+IO开发S.Net培训、期待与您交流! ----------------------
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值