如何从java中的类创建大量实例

如何从java中的类创建大量实例,java,Java,我对java非常陌生,我不确定我需要用什么来实现我的目标。。。或者我不知道如何在谷歌或stackoverflow上搜索它 假设我有一个班的学生,他有一个方法来获取/设置他们的名字和专业。我还有另一个专业,我可以创建一个实例,并将属于这个专业的学生添加到ArrayList中 我有一个扫描仪,这样学生可以输入他们的详细信息 在我的学生课堂上,我会这样写,主要是: package exp; import java.util.Scanner; public class Student {

我对java非常陌生,我不确定我需要用什么来实现我的目标。。。或者我不知道如何在谷歌或stackoverflow上搜索它

假设我有一个班的学生,他有一个方法来获取/设置他们的名字和专业。我还有另一个专业,我可以创建一个实例,并将属于这个专业的学生添加到ArrayList中

我有一个扫描仪,这样学生可以输入他们的详细信息

在我的学生课堂上,我会这样写,主要是:

    package exp;
import java.util.Scanner;
public class Student {

    private String name, major;
    private int id;

    public Student(){
    }
    public void setName(String name){
        this.name = name;
    }
    public String getName(){
        return name;
    }
    public void setMajor(String major){
        this.major = major;
    }
    public String getMajor(){
        return major;
    }    
    public static void main(String[] args) {

        Scanner scan = new Scanner(System.in);
        Student student1 = new Student();
        System.out.println("Enter name: ");
        student1.setName(scan.next());
        System.out.println("Enter major: ");
        student1.setMajor(scan.next());


        Major major1 = new Major();
        major1.addStudents(student1);
        System.out.println("List of students in major1: ");
        major1.getStudents(); 
    }
}
在我的专业课上:

package exp;
import java.util.ArrayList;
public class Major {

private ArrayList<Student> students;

public Major(){
    students = new ArrayList<Student>();
}

public void addStudents(Student insertStudent){
    students.add(insertStudent);
}
public void getStudents(){
    for(Student student: students){
        System.out.println(student.getName());
    }
}

}
我知道这很好用。。。学生填写他们的详细资料。。。但是,如果有1000名或人数未知的学生呢??我们如何创建新实例,而不是在主Student student2=new Student中手动创建;以此类推……我们如何将学生的实例添加到他们所属专业的实例中


多谢各位

您可以简单地将主要方法的大部分放入whiletrue循环中,该循环将永远循环,直到用户输入一些sentinel值并输入0退出。当它们输入0时,将跳出循环:

if(scan.nextLine().equals("0")){ break; }

希望有帮助

您可以简单地将主要方法的大部分放入whiletrue循环中,该循环将永远循环,直到用户输入一些sentinel值并输入0退出。当它们输入0时,将跳出循环:

if(scan.nextLine().equals("0")){ break; }
希望有帮助

只需使用while循环即可

Scanner scan = new Scanner(System.in);
while(true)
{
        Student student = new Student();
        System.out.println("Enter name: ");
        student.setName(scan.next());
        System.out.println("Enter major: ");
        student.setMajor(scan.next());
        System.out.println("Do you wish to continue [Y/N] ?");
        if(scan.next().equalsIgnoreCase("N"))
        {
            break;
        }   
}
只需使用一个while循环

Scanner scan = new Scanner(System.in);
while(true)
{
        Student student = new Student();
        System.out.println("Enter name: ");
        student.setName(scan.next());
        System.out.println("Enter major: ");
        student.setMajor(scan.next());
        System.out.println("Do you wish to continue [Y/N] ?");
        if(scan.next().equalsIgnoreCase("N"))
        {
            break;
        }   
}

将student1添加到ArrayList后,您可以删除其引用,为其提供一个新的Student对象值。

将student1添加到ArrayList后,您可以删除其引用,为其提供一个新的Student对象值。

首先设置专业时,改用major1变量,并将班级学生的major属性设置为major

从少校宣言开始

使用循环填充所有内容

Major major1 = new Major();

while(true) {
    Student temp = new Student();
    System.out.println("please enter your name...");
    temp.setName(scan.next());
    System.out.println("Please enter the name of your major.");
    Major majTemp = null;
    while(majTemp == null) majTemp = getMajorPerName(scan.next());
    temp.setMajor(majTemp);
    majTemp.addStudent(temp.getName());
}

首先,当您设置专业时,请改用major1变量,并将班级学生的专业属性设置为专业

从少校宣言开始

使用循环填充所有内容

Major major1 = new Major();

while(true) {
    Student temp = new Student();
    System.out.println("please enter your name...");
    temp.setName(scan.next());
    System.out.println("Please enter the name of your major.");
    Major majTemp = null;
    while(majTemp == null) majTemp = getMajorPerName(scan.next());
    temp.setMajor(majTemp);
    majTemp.addStudent(temp.getName());
}

将学生添加到列表中。将学生添加到列表中。谢谢你的回答,我只是想知道新的学生对象会出现在哪里?啊。没错。现在他们只是被放进了一个学生名单。我建议,除了专业的ArrayList之外,在你的学生课堂上也要有一个ArrayList,它只存储所有的ArrayList。谢谢你的回答,我只是想知道新的学生对象会出现在哪里?啊。没错。现在他们只是被放进了一个学生名单。我建议,除了专业中的ArrayList之外,在你的学生课堂上也应该有一个ArrayList,它只存储所有的ArrayList。