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("请输入班级总人数:"); int num=in.nextInt(); System.out.println("请输入课程数目:"); int num_1=in.nextInt(); String[] name=new String[num];//名字 String[] course=new String[num_1];//分数 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];//课程分数的2维数组 String[] str=new String[num];//把名字课程分数总分平均分连为一个整体的数组 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)+"名"); } }}运行结果:姓名 语文 数学 总分 平均分 排行榜李四 null78 89 303 151 第1名张三 null45 56 136 68 第2名英语 null12 23 35 17 第3名
1 回答
已采纳
柠檬酸钠
TA贡献331条经验 获得超534个赞
你这代码连缩进都没有你自己能看懂吗,慕课网的代码高亮功能被你吃了?
你在前面输入时存储到了i+1个索引中,第一个结果存储的下标为1,你输出又输出的是i,第一个下标为0,你又没存0,不是null难不成是undefined?
添加回答
举报
0/150
提交
取消