学生管理系统

xiaoxiao2021-02-28  6

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(); }*/ } }
转载请注明原文地址: https://www.6miu.com/read-1150077.html

最新回复(0)