快捷搜索:

您的位置:澳门新葡4473网站 > 澳门新葡4473网站 > 学生成绩管理系统_有问题

学生成绩管理系统_有问题

发布时间:2020-01-16 20:31编辑:澳门新葡4473网站浏览(86)

    package xiti;
    import java.util.*;
    public class ssds {

    状态:未解决

    public static void main(String[] args) {
    /*king:关键在于把要凭借排序的的东西sum还用他sum排序,但是要与之对应一个整合了所有的东西 的
    * 字符串str,利用嵌套的for循环把sum和整合之后的str同时排序,则结果达成。 
    * */
    Scanner s=new Scanner(System.in);
    int stuNum,couNum;
    System.out.println("请输入学生人数:");
    stuNum=s.nextInt();
    System.out.println("请输入课程个数:");
    couNum=s.nextInt();
    //1.声明sum
    int sum[]=new int[stuNum];
    //2.声明整合数组str,和中间变量str11(这个来存储一系列的分数,每个人的)
    String str[]=new String[stuNum];//str[i]=name + java +c + sum +avg
    //String str11="";  这个声明应该放在下面for的外层循环中
    String name[]=new String[stuNum];
    String course[]=new String[couNum];
    int record[][]=new int[stuNum][couNum];
    //整合字符串2 在这里 str22
    String str22="";
    for(int i=0;i<couNum;i++){
    System.out.println("请输入第"+(i+1)+"门课程的名称:");
    course[i]=s.next();
    str22+=course[i]+"t";
    }
    for(int i=0;i<stuNum;i++){
    System.out.println("请输入学生姓名:");
    name[i]=s.next();
    for(int j=0;j<couNum;j++){
    System.out.println("请输入此学生的"+course[j]+"成绩:");
    record[i][j]=s.nextInt();
    }
    }
    for(int i=0;i<stuNum;i++){
    String str11="";//在这里 str11
    for(int j=0;j<couNum;j++){
    sum[i]+=record[i][j];
    str11+=record[i][j]+"t";
    }
    str[i]=name[i]+"t"+str11+sum[i]+"t"+sum[i]/couNum;
    }
    //下面 关键 :利用sum进行排序 同时!!把整合的str排了!!!
    for(int i=0;i<stuNum-1;i++){
    for(int j=i+1;j<stuNum;j++){
    if(sum[i]<sum[j]){
    int t=sum[i];//这里sum必须进行排序,因为str里面的sum只是他的一个数值,并不属于sum数组里的成分。
    sum[i]=sum[j];
    sum[j]=t;
    String t1=str[i];
    str[i]=str[j];
    str[j]=t1;
    }

    关键:外层循环中 对字符串的整合

    }

    错误代码:不见了。。雾草找到了

    }System.out.println("姓名"+"t"+str22+"最高分"+"t"+"平均值"+"t"+"排行榜");//此处可以用for循环输出课程名称,但是我采用了整合到字符串的方法来进行简单输出。
    for(int i=0;i<stuNum;i++){
    System.out.println(str[i]+"t"+"第"+(i+1)+"名");

    public static void main(String[] args) {
    Scanner s = new Scanner(System.in);
    System.out.println("请输入学生的人数:");
    int person = s.nextInt();
    System.out.println("请输入学生的科目数:");
    int a = s.nextInt();
    String[] stu = new String[person];
    String[] num = new String[a];
    for(int i=0;i<person;i++){
    System.out.println("请输入学生"+(i+1)+"的名字");
    stu[i] = s.next();
    }
    for(int i=0;i<a;i++){
    System.out.println("请输入科目"+(i+1)+"的名字");
    num[i] = s.next();
    }

    }

    int[][] score = new int[person][a];

    }

    String[] str1 = new String[person];
    int[] sum = new int[person];

    }

    for(int i=0;i<person;i++){
    for(int j=0;j<a;j++){
    System.out.println("请输入学生"+stu[i]+"的"+num[j]+"成绩:");
    score[i][j] = s.nextInt();
    str1[i]+=score[i][j]+"t";
    sum[i]+=score[i][j];

    }
    }

    System.out.print("学生t");
    for(int i=0;i<a;i++){
    System.out.print(num[i]+"t");
    }
    System.out.println();
    String[] str = new String[person];
    for(int i=0;i<person;i++){
    str[i] = stu[i]+"t"+str1[i]+"t"+sum[i]+"t"+sum[i]/a;
    System.out.println(str[i]);
    }
    }

        问题描述:用str[i]整合成绩 + 之后会出现 null 不知原因

    正确代码:

    package example;//输入学生人数、科目数。每个学生的科目成绩 输出 排序(选择或冒泡2选1)并输出
    import java.util.Scanner;
    public class Score_management_system {
    public static void main(String[]sumrgs){
    Scanner s = new Scanner(System.in);
    System.out.println("请输入学生人数:");
    int m = s.nextInt();
    System.out.println("请输入学习科目:");
    int n = s.nextInt();
    String[] per = new String[m];
    for(int i=0;i<m;i++){
    System.out.println("请输入学生"+(i+1)+"姓名");
    per[i] = s.next();
    }
    String[] kemu = new String[n];
    String acc = "";
    for(int i=0;i<n;i++){
    System.out.println("请输入科目"+(i+1)+"的名称");
    kemu[i] = s.next();
    acc +=kemu[i]+"t";
    }
    int[][] score = new int[m][n];
    int[] sum = new int[m];
    String[] str = new String[m];
    for(int i=0;i<m;i++){
    String str11 = "";//外层循环中定义str11(为空),空字符串链接做整合
    for(int j=0;j<n;j++){
    System.out.println("请输入学生"+per[i]+kemu[j]+"的成绩");
    score[i][j] = s.nextInt();
    str11 += score[i][j]+"t";
    sum[i] +=score[i][j];
    }
    str[i] = per[i]+"t"+str11+sum[i]+"t"+sum[i]/kemu.length;
    }
    for(int i=0;i<m-1;i++){
    for(int j=i+1;j<m;j++){
    if(sum[i]>sum[j]){
    int t = sum[i];String temp = str[i];
    sum[i] = sum[j];str[i] = str[j];
    sum[j] = t;str[j] = temp;
    }
    }
    }
    System.out.println("学生t"+acc+"总分t"+"平均分t"+"名次");
    for(int i=0;i<m;i++){
    System.out.println(str[i]+"t第"+(i+1)+"名");
    }

    }
    }

    问题描述:输出无法对齐

    本文由澳门新葡4473网站发布于澳门新葡4473网站,转载请注明出处:学生成绩管理系统_有问题

    关键词:

上一篇:没有了

下一篇:没有了