输入结果怎么不同?

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

肆意的灬青春

2017-05-22 21:48

package com.imooc.collection;


import java.util.ArrayList;

import java.util.List;

/**

 * 备选课程类

 * @author sss

 *

 */

public class ListTest {

    /**

     * 用于存放备选课程的List

     */

public List courseToSelect;

public ListTest(){

this.courseToSelect = new ArrayList();

}

/**

* 用于往courseToSelect中添加备选课程 

*/

public void testAdd(){

//创建一个课程对象,并通过调用add方法。添加到备选课程List中

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

courseToSelect.add(cr1);

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

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

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

courseToSelect.add(0,cr2);

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

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

}

public static void main(String[] args){

ListTest lt = new ListTest();

lt.testAdd();

}

}



输出结果为  

添加了课程:数据结构:null

添加了课程:C语言:null

   怎么和老师的不同?

写回答 关注

2回答

  • root750
    2017-05-24 19:59:24
    已采纳

    this .id =name;  这里应该是this.name=name;  如果按你那样写,就是重新把传进的nama赋值给了this.id,所以导致你输出的temp.id变成了课程名字而不是课程编号,然后temp.name你并没有传进去,所以获取的值是Null(空)

    肆意的灬青春

    非常感谢!厉害 ,谢谢

    2017-05-24 21:11:31

    共 1 条回复 >

  • root750
    2017-05-23 09:33:38

    Course 类的构造器出问题了吧  你把那个类的构造器发来看看

    肆意的灬青春

    package com.imooc.collection; /** * 课程类 * @author sss * */ public class Course { public String id; public String name; public Course(String id,String name){ this.id = id; this .id =name; } } 诺,感谢

    2017-05-23 21:31:36

    共 1 条回复 >

Java入门第三季

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

409780 学习 · 4339 问题

查看课程

相似问题