1

我是 Java 新手,我开始使用ArrayLists. 我想做的是ArrayList为学生创建一个。每个学生都有与他们相关的不同属性(name, id)。我试图弄清楚如何添加具有此属性的新学生对象。这是我所拥有的:

ArrayList < Student > studentArray;
public Student(String name, int id) {
  this.fname = name;
  this.stId = id;
}
public Stromg getName() {
  return fname;
}
public int getId() {
  return stId;
}
public boolean setName(String name) {
  this.fname = name;
  return true;
}
public boolean setIdNum(int id) {
  this.stId = id;
  return true;
}
4

3 回答 3

6

您需要的是以下内容:

import java.util.*;

class TestStudent
{
    public static void main(String args[])
    {
        List<Student> StudentList= new ArrayList<Student>();
        Student tempStudent = new Student();
        tempStudent.setName("Rey");
        tempStudent.setIdNum(619);
        StudentList.add(tempStudent);
        System.out.println(StudentList.get(0).getName()+", "+StudentList.get(0).getId());
    }
}

class Student
{
    private String fname;
    private int stId;

    public String getName()
    {
        return this.fname;
    }

    public int getId()
    {
        return this.stId;
    }

    public boolean setName(String name)
    {
        this.fname = name;
        return true;
    }

    public boolean setIdNum(int id)
    {
        this.stId = id;
        return true;
    }
}
于 2013-03-13T05:08:10.547 回答
2

Student通过将适当的值传递给构造函数来实例化一个对象。

Student s = new Student("Mr. Big", 31);

您可以使用运算符将​​元素放入ArrayList(or ) 中。*List.add()

List<Student> studentList = new ArrayList<Student>();
studentList.add(s);

您可以通过使用Scanner绑定来检索用户输入System.in

Scanner scan = new Scanner(System.in);
System.out.println("What is the student's name?");
String name = scan.nextLine();
System.out.println("What is their ID?");
int id = scan.nextInt();

你用一个循环重复这个。该部分应留给读者作为练习。

*:还有其他选项,但add()只需将其添加到末尾,这通常是您想要的。

于 2013-03-13T04:57:26.730 回答
1
final List<Student> students = new ArrayList<Student>();
students.add(new Student("Somename", 1));

...等等添加更多学生

于 2013-03-13T04:52:52.220 回答