JAVA集合问题。

public class RuKou {
public static void main(String[] args) {
Student student=new Student();
student.show();
ArrayList<Student> list =new ArrayList<Student>();
Scanner In=new Scanner(System.in);

student.setNo(In.nextInt());
student.setName(In.next());

student.setScore(In.nextFloat());

list.add(student);

for(Student s:list ){
System.out.println(s);

}
输出的怎么是org.oir.student.Student@60aeb0这个。 怎么输出 ,输入的值。

第1个回答  2012-11-05
你的Student没有重写toString()方法,这里调用System.out.println(s);时是自动打印类信息的,假如未重写toString就会打印出类似的信息 .

假如你想打印制定的对象信息,可以在你重写的toString()方法中定义展现格式如下:

public String toString() {
return "no:" + this.getNo() + ",name:" + this.getName();

}
希望回答能帮助你
第2个回答  2012-11-05
如果你想输出每个s对象中的值可以在Student类中重写toString方法,如果你要输出每个student对象中的属性可以
for(Student s:list ){
System.out.println(s.getNo
s.getName
...

);

}
前提你student类中有get方法
纯手打 superboboge为您回答~如果觉得好就选我吧本回答被提问者采纳
第3个回答  2012-11-05
你的“System.out.println(s);”是直接把一个Student对象打印出来的,当你打印一个对象时,系统会调用你的类里面的重写的父类(Object类)的toString()方法,如果你们有重写,那么就调用父类的也就是Object的那个toString()方法,在Object中,toString()方法是这样写的它的返回值是把你这个类的包名+类名+@+这个对象的哈希码!打印的”org.oir.student.Student@60aebo“就是这样来的,如果你重写一下父类的toString()方法,返回一个这个学生的介绍就行了。
第4个回答  2012-11-05
Student是个对象,当用System.out.println输出对象时,输出的对象在内存中的地址,也就是org.oir.student.Student@60aeb0这个。
相似回答