问答详情
源自:4-5 学生选课---添加课程 Ⅱ

为什么我的代码在第二个数组的时候,输出时的下标是2,3.而不是接着下去的5,6呢

package com.imooc_collection;


import java.util.ArrayList;

import java.util.Arrays;

import java.util.List;

/*备选课程类

 * 

 * 

 * 

 * */

public class ListTest {

/*用于存放备选课程的List

 * 

 * */

public List coursesToSelect;

public ListTest() {

this.coursesToSelect=new ArrayList();

}

/*用于往coursesToSelect中添加备选课程List 中

* */

public void testAdd() {

/*创建一个课程对象,并通过调用add 方法,添加*/

Course cr1 =new Course("1","数据结构");

coursesToSelect.add(cr1);

Course temp =(Course) coursesToSelect.get(0);

System.out.println("添加了课程:"+temp.id+":"+temp.name);

Course cr2 =new Course("2","C语言");

coursesToSelect.add(0,cr2);

Course temp2=(Course)coursesToSelect.get(0);

System.out.println("添加了课程:"+temp2.id+":"+temp2.name);

Course cr3 =new Course("3","test");

coursesToSelect.add(0,cr3);

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

System.out.println("添加了课程:"+temp3.id+":"+temp3.name);

Course[] course= {new Course("3","离散数学"),new Course("4","汇编语言")};

coursesToSelect.addAll(Arrays.asList(course));

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

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

System.out.println("添加了两门课程:"+temp4.id +":"+temp4.name+";"+temp5.id +":"+temp5.name);

Course[] course2= {new Course("5","高等数学"),new Course("6","大学英语")};

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

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

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

System.out.println("添加了两门课程:"+temp6.id +":"+temp6.name+";"+temp7.id +":"+temp7.name);

}

public static void main(String[] args) {

ListTest It =new ListTest();

It.testAdd();

}

}

https://img1.mukewang.com/5c5c31fc0001953510730550.jpg

提问者:慕村0971399 2019-02-07 21:26

个回答

  • 慕斯7356729
    2019-08-02 18:21:40

    把System.out.println("添加了两门课程:"+temp4.id +":"+temp4.name+";"+temp5.id +":"+temp5.name);

    放在

    System.out.println("添加了两门课程:"+temp6.id +":"+temp6.name+";"+temp7.id +":"+temp7.name);

    之后试试。

  • 软件工程李白
    2019-05-15 23:10:24

    参考4-5视频的 5:08秒处的解释