Arraylist不存储setter值

问题描述 投票:0回答:1

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;
}
}
java logic
1个回答
0
投票

您需要覆盖学生类的默认toString()方法,或者使用for循环sysarraylist中的每个条目并调用它的名称getter。

© www.soinside.com 2019 - 2024. All rights reserved.