发现我插入数组之后,只有保存数组最后一个元素的值,无论如何修改代码,修改插入,选择还是对象的数值打印的值还是一样

来源:4-5 学生选课---添加课程 Ⅱ

菠萝哥伤不起

2016-05-08 17:12

package imooc.com.collect;


import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class ListSet {
//用于存放备选课程List
    public List ListToSelect;
    public ListSet(){
        this.ListToSelect=new ArrayList();
    }
//创建一个向List中添加课程的方法
    public void ListAdd(){
        Course s1=new Course("1","java程序设计");
        ListToSelect.add(s1);
        Course temp=(Course) ListToSelect.get(0);
        System.out.println("所选课程为:"+temp.id+" "+temp.name); //这里必须对象实例化才能够调用
        Course s2=new Course("2","C语言");
        ListToSelect.add(1,s2);
        Course temp2=(Course) ListToSelect.get(1);
        System.out.println("所选课程为:"+temp2.id+" "+temp2.name);
        Course[] s3={new Course("3","汇编语言"),new Course("4","单片机")};
        ListToSelect.addAll(Arrays.asList(s3));
        Course temp3=(Course) ListToSelect.get(2);
        System.out.println("添加了两门课程"+temp3.id+":"+temp3.name+"\n");
        Course temp4=(Course )ListToSelect.get(3);
        System.out.println("添加了两门课程"+temp4.id+":"+temp4.name);
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
       ListSet first=new ListSet();
       first.ListAdd();
    }

}

写回答 关注

3回答

  • 小幕1314
    2016-08-04 17:14:15

    数组course2在打印的时候应该是打印5和6,你打印的是5和4,应该是复制上面的没有改过来吧

  • qq_小二放牛_03553743
    2016-06-29 11:33:10

    数组下标为0的时候才是代表你插入的第一条数据,ListToSelect.get(1)为1时已经是你代表的是第二条数据,你插入的也是在第二排

  • 未来的顶尖黑_客
    2016-05-09 09:30:49

    不懂同求

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409792 学习 · 4340 问题

查看课程

相似问题