• Java基础15-数组实例学生管理系统


     1 import java.util.Scanner;
     2 public class Student{
     3     public static void main(String[] args){
     4         Scanner in=new Scanner(System.in);
     5         System.out.println("请输入学生的人数");
     6         int studentsNum=in.nextInt();
     7         System.out.println("请输入课程数目");
     8         int coursesNum=in.nextInt();
     9         //声明数组存储课程
    10         String[] courses=new String[coursesNum];
    11         //声明数组存储姓名
    12         String[] names=new String[studentsNum];
    13         //声明二维数组存储特定成绩
    14         double[][] scores=new double[studentsNum][coursesNum];
    15         //声明数组存储总分
    16         double[] sum=new double[studentsNum];
    17         //声明数组存储平均分
    18         double[] avg=new double[studentsNum];
    19         //声明数组存储一行
    20         String[] str=new String[studentsNum];
    21         
    22         //循环给课程数组赋值
    23         for(int i=0;i<courses.length;i++){
    24             System.out.println("请输入第"+(i+1)+"门课程是什么");
    25             courses[i]=in.next();
    26         }
    27         
    28         //循环给姓名数组和成绩赋值
    29         for(int i=0;i<names.length;i++){
    30             System.out.println("请输入第"+(i+1)+"个学生的姓名:");
    31             names[i]=in.next();
    32             double s=0;
    33             String str1="";
    34             for(int j=0;j<courses.length;j++){
    35                 System.out.println("请输入"+names[i]+courses[j]+"的成绩:");
    36                 scores[i][j]=in.nextDouble();
    37                 s=s+scores[i][j];
    38                 str1=str1+scores[i][j]+"	";
    39             }
    40             sum[i]=s;
    41             avg[i]=s/coursesNum;
    42             str[i]=names[i]+"	"+str1+sum[i]+"	"+avg[i]+"	";
    43         }
    44         
    45         //按照表格形式输出
    46         System.out.print("学生	");
    47         for(int i=0;i<courses.length;i++){
    48             System.out.print(courses[i]+"	");
    49         }
    50         System.out.print("总分	平均分	排行榜	");
    51         System.out.println();
    52         
    53         for(int i=0;i<sum.length-1;i++){
    54             for(int j=0;j<sum.length-1;j++){
    55                 if(sum[j]<sum[j+1]){
    56                     double temp=sum[j];//叫总分高的排在前面
    57                     sum[j]=sum[j+1];
    58                     sum[j+1]=temp;
    59                     
    60                     String temp2=str[j];//将整行交换
    61                     str[j]=str[j+1];
    62                     str[j+1]=temp2;
    63                 }
    64                 
    65             }
    66         }
    67         
    68         for(int i=0;i<names.length;i++){
    69             //System.out.print(names[i]+"	");
    70             //for(int j=0;j<courses.length;j++){
    71                 //System.out.print(scores[i][j]+"	");
    72             //}
    73             //System.out.print(sum[i]+"	"+avg[i]+"	");
    74             System.out.print(str[i]);
    75             System.out.print("第"+(i+1)+"名");
    76             System.out.println();
    77         }
    78     }
    79 }
  • 相关阅读:
    C语言I博客作业02
    C语言I博客作业06
    C语言I—2019秋作业第一周作业
    C语言I博客作业09
    C语言I博客作业07
    C语言I博客作业08
    利用 jrebel 热部署\远程调试\远程热部署 springboot项目 服务器上的代码
    java 双因素认证(2FA)TOTP demo
    java File读取文件始终不存在的问题分析
    exchange 2010 的两个错误
  • 原文地址:https://www.cnblogs.com/shenhainixin/p/9966627.html
Copyright © 2020-2023  润新知