学生管理系统

3.学生管理系统

import java.util.Scanner;
public class Hello {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        Scanner in=new Scanner(System.in);
        System.out.println("请输入学生的人数:");
        int renshu=in.nextInt();
        System.out.println("请输入课程的数目:");
        int  courseNum = in.nextInt();
        String[] name   = new String[renshu];//申请一个长度为renshu的name字符串数组
        String[] course = new String[courseNum];//声明一个课程名称的字符串数组
        int[][]  number = new int[renshu][courseNum];//声明二维数组也即矩阵a[i][j],是某个人什么成绩为多少分
        int[] sum=new int[renshu];//有多少个人就有多少个总分
        int[] avg=new int[renshu];
        String[] str=new String[renshu];
        /*
        *   用来循环存储课程的名称
        */
        for (int i=0;i<courseNum;i++)
        {
             System.out.println("请定义第"+(i+1)+"门课程的名字");
             course[i]=in.next(); //course为字符串类型直接next不用加char;接收字符串存入course
        }
        /*
        用来录入学生的各科成绩
        */
        for (int i=0;i<renshu;i++)
        {
               int S=0;
               System.out.println("请输入学生的姓名:");
               name[i]=in.next(); 
                    //接收输入学生姓名的字符串数组
               String str11="";
                    for (int j=0;j<course.length;j++)
               {
               System.out.println("请输入学生"+name[i]+course[j]+"的成绩");
               number[i][j] =in.nextInt();//输入二维数组用来存储特定学生的特定成绩
               S+=number[i][j];
               str11+=number[i][j]+"\t";
               }  
               sum[i]=S; //某个人的成绩的总和
               avg[i]=S/courseNum;
               str[i]=name[i]+"\t"+str11+sum[i]+"\t"+avg[i];
          //整合每一行学生的数据
        }
        for (int i=0;i<str.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("学生");
        for (int i=0; i<course.length ; i++)
        {
           System.out.print("\t"+course[i]);
        }
        System.out.print("\t总分\t平均分\t排行榜");
        System.out.println();
        
        for (int i=0;i<renshu;i++)
        {
             System.out.println(str[i]+"\t第"+(i+1)+"名");
        
        }
        
       /* for (int i=0;i<renshu;i++)
        {
          System.out.print(name[i]);
             for (int j=0;j<courseNum;j++)
            {
                 System.out.print("\t"+number[i][j]);
             }
             System.out.print("\t"+sum[i]);
             System.out.print("\t"+avg[i]);
          System.out.println();
        }*/
        
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值