新手自制一个简单的学生管理系统求助
程序代码:
import java.util.*; public class guanlixitong1 { public static void main(String[] args){ 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];//声明一个数组String用来存储学生的姓名 String[] course=new String[courseNum];//声明一个String数组来存储课程的名字 int[][] number=new int[renshu][courseNum];//声明一个int数组来存储各科成绩 int[] sum=new int[renshu];//声明一个int数组来存储总分 int[] avg=new int[renshu];//声明一个int数组来存储平均分 String[] str=new String[renshu]; for(int i=0;i<course.length;i++){ System.out.println("请输入第"+(i+1)+"门课程的名字"); course[i]=in.next(); } for(int i=0;i<renshu;i++){ int s=0; String str11=""; System.out.println("请输入学生的姓名:"); name[i]=in.next();//用来存储学生的姓名 for(int j=0;j<courseNum;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<str.length-1;j++){ if(sum[j]<sum[j+i]){ String t2=str[j]; str[j]=str[j+1]; 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)+"名"); } } }排序不正确,感觉是冒泡排序那里出了问题,可是不知道具体错哪了,求助 附张运行结果图,输入的数据和输出都正确,就是排序不对求大神赐教