package helloWorld;import java.util.Scanner;public class test_7{ public static void main(String[] args){ Scanner in=new Scanner(System.in); System.out.println("請輸入班級總人數(shù):"); int num=in.nextInt(); System.out.println("請輸入課程數(shù)目:"); int num_1=in.nextInt(); String[] name=new String[num];//名字 String[] course=new String[num_1];//分數(shù) int[] sum=new int[num]; int[] avg=new int[num]; for(int i=0;i<course.length;i++){ System.out.println("請輸入第"+(i+1)+"門課是什么:"); course[i]=in.next(); } int[][] arr=new int[num][num_1];//課程分數(shù)的2維數(shù)組? String[] str=new String[num];//把名字課程分數(shù)總分平均分連為一個整體的數(shù)組 String[] str11=new String[num]; int s=0; for(int i=0;i<num;i++){ System.out.println("請輸入第"+(i+1)+"個學生的姓名:"); name[i]=in.next(); for(int j=0;j<num_1;j++){ System.out.println("請輸入"+name[i]+course[j]+"的成績:"); arr[i][j]=in.nextInt(); s+=arr[i][j]; str11[i]+=arr[i][j]+"\t"; } sum[i]=s; avg[i]=sum[i]/num_1; str[i]=name[i]+"\t"+str11[i]+sum[i]+"\t"+avg[i]; } System.out.print("姓名"+"\t"); for(int i=0;i<num_1;i++){ System.out.print(course[i]+"\t"); } System.out.print("總分"+"\t"+"平均分"+"\t"+"排行榜"+"\n"); for(int i=0;i<sum.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; } } } for(int i=0;i<sum.length;i++){ System.out.println(str[i]+"\t"+"第"+(i+1)+"名"); } }}運行結果:姓名 語文 數(shù)學 總分 平均分 排行榜李四 null78 89 303 151 第1名張三 null45 56 136 68 第2名英語 null12 23 35 17 第3名
1 回答
已采納

檸檬酸鈉
TA貢獻331條經(jīng)驗 獲得超534個贊
你這代碼連縮進都沒有你自己能看懂嗎,慕課網(wǎng)的代碼高亮功能被你吃了?
你在前面輸入時存儲到了i+1個索引中,第一個結果存儲的下標為1,你輸出又輸出的是i,第一個下標為0,你又沒存0,不是null難不成是undefined?
添加回答
舉報
0/150
提交
取消