Arraylist未存储正确的值。我想存储它,但是当我打印出来时,我得到了下面的输出。理想的输出为[hhh,27]
这是输出:输入学生姓名[hhh
[assignment8.Student@55f96302]
输入ID 27
[assignment8.Student@55f96302,
assignment8.Student@55f96302]
import java.util.ArrayList;
import java.util.Scanner;
import java.util.List;
public class studentTest {
public static void main(String[] args) {
ArrayList<Student> storage = new ArrayList<Student>();
Scanner input = new Scanner(System.in);
Student obj3 = new Student();
System.out.print("Enter Student name ");
obj3.setName(input.nextLine());
storage.add(obj3);
System.out.print(storage);
System.out.print("Enter ID ");
obj3.setName(input.nextLine());
storage.add(obj3);
System.out.print(storage);
}
}
public class Student {
private static String name;
private int ID;
private double grade;
private int test;
private int NUM_Tests;
public Student() {
name = "unassigned";
ID = 0;
grade = 0;
test = 0;
NUM_Tests = 0;
}
public static void setName(String N) {
name = N;
}
public static String getName() { //getters do not need parameter
return name;
}
public void setID(int I) {
ID = I;
}
public int getID() {
return ID;
}
}
您需要覆盖学生类的默认toString()方法,或者使用for循环sysarraylist中的每个条目并调用它的名称getter。