黑马程序员技术交流社区

标题: 下面编写的 学生管理系统程序 看有无更加简洁的代码 [打印本页]

作者: lixunwen    时间: 2015-4-29 20:16
标题: 下面编写的 学生管理系统程序 看有无更加简洁的代码
代码如下:
import java.util.Scanner;
public class xsgll {
    public static void main(String[] args){
            Scanner in=new Scanner(System.in);
            System.out.println("请输入学生的人数:");
            int number=in.nextInt();
            System.out.println("请输入课程数目:");
            int course=in.nextInt();
            String cname[]=new String[course];//存储课程的姓名
            String name[]=new String[number];//存储学生的姓名
            int score[][]=new int[number][course];//存储学生的各科成绩
            int zongfen[]=new int[number];//存储学生的总分
            int avg[]=new int[number];//存储学生的平均分
            String stll[]=new String[number];//存储学生的整个信息
            for(int i=0;i<course;i++)   //输入课程名
            {
                    System.out.println("请输入第"+(i+1)+"门课程名");
                    cname[i]=in.next();
                     
            }
            for(int i=0;i<number;i++){
                    System.out.println("请输入第"+(i+1)+"学生的姓名");
                        name[i]=in.next();
                        String stll1="";
                     for(int j=0;j<course;j++){
                             System.out.println("请输入"+name[i]+"的"+cname[j]+"的成绩");
                             score[i][j]=in.nextInt();
                             stll1+=score[i][j]+"\t";
                             zongfen[i]+=score[i][j];//录入总分
                             }
                     avg[i]=zongfen[i]/course;//录入平均分       
                     stll[i]=name[i]+"\t"+stll1+zongfen[i]+"\t"+avg[i];//组成字符串
            }
              for(int i=0;i<number-1;i++){
                      for(int j=i+1;j<number;j++){
                      if(zongfen[i]<zongfen[j]){
                                 int t=zongfen[i];        String  stll2=stll[i];
                                 zongfen[i]=zongfen[j];       stll[i]=stll[j];
                                 zongfen[j]=t;                stll[j]=stll2;
                      }
              }
              }
            System.out.print("姓名"+"\t"); //输出开始
            for(int i=0;i<course;i++)   //输出课程名
            {
                    System.out.print(cname[i]+"\t");
                     
            }
            System.out.print("总分"+"\t");
            System.out.print("平均分"+"\t");
            System.out.print("名次"+"\n");
            for(int i=0;i<number;i++){
                    System.out.println(stll[i]+"\t"+"第"+(i+1)+"名");
            }         
     }
}




作者: gzp123    时间: 2015-4-29 21:06
恩,写的不错,获益匪浅啊
作者: 下海的鱼儿    时间: 2015-4-29 22:25
可以啦,谢谢啦




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2