setTest中编译好testListContains方法后

来源:6-1 学生选课---判断 List 中课程是否存在

紫金湖人

2016-03-10 10:49

public void testAdd(){

   Course cr1 = new Course();
   cr1.setId("1");
   cr1.setName("JAVA编程");
   coursesToSelect.add(cr1);
   Course temp=(Course)coursesToSelect.get(0);}

public void testListContains(){
   System.out.println("请输入要查询课程的ID:");
   Scanner console=new Scanner(System.in);
   while (true){
       String id=console.next();
       Course course=coursesToSelect.get(id.indexOf(id));
       if (course.getName()==null){
       System.out.println("请重新输入ID");
       continue;
   }
       System.out.println("取得课程"+course.getName());
       System.out.println("备选课程是否含有该课程:"+course.getName()+coursesToSelect.contains(course));
       break;
   }
}

为什么运行结果不正确,输入5,也会出现0位置的结果?

以下是运行结果:

通过迭代器访问:

1JAVA编程

2大学英语

3计算机导论


请输入要查询课程的ID:

5

取得课程JAVA编程

备选课程是否含有该课程:JAVA编程true


写回答 关注

1回答

  • ZYeeC
    2016-03-10 13:15:00
    Course course=coursesToSelect.get(id.indexOf(id));

    这句中,id.indexOf(id)是在id这个字符串中找id的内容的位置,比如说     "5".indexOf("5")返回值自然是0 ,所以出现0位置的结果

    紫金湖人

    那应该如何改呢?

    2016-03-10 15:56:29

    共 2 条回复 >

Java入门第三季

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

409792 学习 · 4340 问题

查看课程

相似问题