为了账号安全,请及时绑定邮箱和手机立即绑定

为甚么多出了个null?

为甚么多出了个null?

晴天小文友 2016-07-17 00:11:12
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?

查看完整回答
1 反对 回复 2016-07-17
  • 1 回答
  • 0 关注
  • 1283 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信