猿问

为什么输出的ID和保存的值差了32

package hhhh;


import java.util.ArrayList;

import java.util.Arrays;

import java.util.List;

import java.util.Scanner;


public class SetTest {


public List<Course> coursesToSelect;

public SetTest()

{

this.coursesToSelect=new ArrayList<Course>();

}

public void add()

{

Course cr1=new Course("chinese",123);

Course cr2=new Course ("math",124);

coursesToSelect.add(cr1);

coursesToSelect.add(0, cr2);

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

System.out.println("课程:"+temp.getID()+temp.getName());

Course[] cr3={new Course("english",125),new Course("gym",130)};

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

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

System.out.println("课程:"+temp.getID()+temp.getName());

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

System.out.println("课程:"+temp.getID()+temp.getName());

Course[] cr4={new Course("music",126),new Course("art",127)};

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

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

System.out.println("课程:"+temp.getID()+temp.getName());

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

System.out.println("课程:"+temp.getID()+temp.getName());

System.out.println("添加完毕!");



// int size=coursesToSelect.size();

// for(int i=0;i<size;i++)

// {

// Course cr=(Course) coursesToSelect.get(i);

// System.out.println("课程:"+cr.getID()+' '+cr.getName());

// }

}

public void print()

{

System.out.println("目前有以下课程:");

for(int i=0;i<coursesToSelect.size();i++)

{

System.out.println(coursesToSelect.get(i).getID()+' '+coursesToSelect.get(i).getName());

}

}

public void show(Student stu)

{

for(Course cr:stu.courses)

System.out.println("选择了:"+cr.getID()+' '+cr.getName());

}

public static void main(String[] args)

{

SetTest st=new SetTest();

Student stu=new Student("Xiaoming",160);

System.out.println("***欢迎使用选课系统***");

st.add();

st.print();

Scanner input=new Scanner(System.in);

System.out.println("***请选择三门课程:***");

for(int i=0;i<3;i++)

{

System.out.println("选择第"+(i+1)+"门课:");

long option=input.nextLong();

for(Course cr:st.coursesToSelect) //coursesToSelect是元素,要用对象st调用

{

if(cr.getID()==option) //遍历中直接用户cr代替st.coursesToSelec

{

stu.courses.add(cr); //把cr添加进去

System.out.println("done");

}

}

}

st.show(stu);

input.close();

}

}

这是输出:

目前有以下课程:

156math

155chinese

158music

159art

157english

162gym

前面的ID比我存入的ID多了32,但是如果用代码中注释掉的那一段作为输出ID就是对的,求大神解答

慕粉3274359
浏览 1423回答 0
0回答
随时随地看视频慕课网APP

相关分类

Java
我要回答