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