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(または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 に答える