问答详情
源自:4-11 学生选课---通过 Set 集合管理课程

老师好,数组下标越界问题,为什么老师的代码没有出现这一问题?还有怎么改呢?可不可以在前面加上异常处理啊??

Course[] course= {new Course("003","离散数学"),new Course("004","撒哈拉沙漠")};

coursesToSelect.addAll(Arrays.asList(course));//通过arrays实例将传入的数组转变为list

Course temp3=(Course) coursesToSelect.get(3);

Course temp4=(Course) coursesToSelect.get(4);

// System.out.println("\n"+"添加了两门课程:"+"\n"+"\t"+temp3.id+":"+"\t"+temp3.name+"\n"+"\t"+temp4.id+":"+"\t"+temp4.name+";");

Course[] course2= {new Course("005","小王子"),new Course("006","墨菲定理")};

coursesToSelect.addAll(2, Arrays.asList(course2));

Course temp5=(Course) coursesToSelect.get(2);    //通过get方法取出所需元素

Course temp6=(Course) coursesToSelect.get(3);

// System.out.println("添加了两门课程:"+"\n"+"\t"+temp5.id+":"+"\t"+temp5.name+"\n"+"\t"+temp6.id+":"+"\t"+temp6.name+";");

}


提问者:做一个努力的男孩 2019-09-30 19:44

个回答

  • qq_絻_0
    2019-11-18 14:59:46

    你这数组长度是2,但是数组是以下标0开始的,所有只能获取get(0),get(1),你获取了下标为3和4肯定是越界了

  • weixin_慕运维2409011
    2019-10-11 14:09:41

    数组下标从零开始算的,get的时候不能超过你数组的长度


  • qq_承诺没怀疑过_0
    2019-10-04 09:21:58

     你刚开始只添加了两个元素,最大只能访问到下标为1的元素。而你却要访问 第3和第4个元素,当然要报数组越界错误了