Java 创建多个学员,并检查是否有重复的学员

Java 创建多个学员,并检查是否有重复的学员,java,input,java.util.scanner,Java,Input,Java.util.scanner,在我的代码中,我要输入多个学生,并进行方法检查,通过检查ID号查看是否有任何学生重复,但我似乎无法使用我的当前代码设置多个学生并保存他们。根据我目前的代码,有没有办法设置多个学生,或者我必须完全更改代码 import java.util.Scanner; public class Registrar { public static void main(String[] args) { Scanner input = new Scanner(System.

在我的代码中,我要输入多个学生,并进行方法检查,通过检查ID号查看是否有任何学生重复,但我似乎无法使用我的当前代码设置多个学生并保存他们。根据我目前的代码,有没有办法设置多个学生,或者我必须完全更改代码

import java.util.Scanner;
    public class Registrar 
    {

    public static void main(String[] args)
    {

  Scanner input = new Scanner(System.in);

  String string1 = " ";

  while(string1 != "1")
  {

     System.out.println("Please input full name name of student: ");
     string1 = input.next(); // user input of name
     if (string1 != "0"){
        break;
     }
     System.out.println("Please input Student ID (if done enter 0): ");
     String string2 = input.next(); // user input of ID
     System.out.println("Please input Students Credits: ");
     int inputCredits = input.nextInt(); // User input of Credits
     System.out.println("Please input Student's Total Grade Points Earned: ");
     double getPoints = input.nextDouble();
     double GPA = getPoints/inputCredits; //User input of Grade Points Earned and Divide by Credits to get GPA

     Student first = new Student(string1, string2, inputCredits, GPA);

     System.out.println( "Name: " + first.getName() + "\nUser ID: " + first.getId() + "\nCredits: " + first.getCredits() + "\nGrade Point Average: " + first.getGradePoints()  );


     }


  }
}
这是我的学生班

public class Student {  
   private String name;
   private String idnum;
   private int credits;
   private double gradePoints;

   public Student(String n, String id, int c, double gp){
      name = n;
      idnum = id;
      credits = c;
      gradePoints = gp;
      }

   public String getName(){
      return name;
      }
   public String getId(){
      return idnum;
      }
   public int getCredits(){
      return credits;
      }
   public double getGradePoints(){
      return gradePoints;
      }
}

你可以让一个用户输入你想要保存的学生数量,然后运行一个循环来获取输入的详细信息。大致代码如下所示:

System.out.println("Enter how many student you want to enter");
int s = input.nextInt();
for(int i = 0; i<s; i++) {
 //Code for take details of user
 }
//Then you can print the details of student in similar way.

试试这个代码。使用集合更好地实现

      Scanner input = new Scanner(System.in);
      String string1 = " ";
      System.out.println("Number of students to be entered");
      int s = input.nextInt();
      List<Student> studentList = new ArrayList<Student>();

      for(int i = 0; i<s; i++) {
             System.out.println("Please input full name of student: ");
             string1 = input.next(); // user input of name
             System.out.println("Please input Student ID (if done enter 0): ");
             String string2 = input.next(); // user input of ID
             System.out.println("Please input Students Credits: ");
             int inputCredits = input.nextInt(); // User input of Credits
             System.out.println("Please input Student's Total Grade Points Earned: ");
             double getPoints = input.nextDouble();
             double GPA = getPoints/inputCredits; //User input of Grade Points Earned and Divide by Credits to get GPA

             Student student = new Student(string1, string2, inputCredits, GPA);
             System.out.println( "Name: " + first.getName() + "\nUser ID: " + first.getId() + "\nCredits: " + first.getCredits() + "\nGrade Point Average: " + first.getGradePoints()  );
             studentList.add(student);
       }