Итак, у меня есть домашнее задание, и я сделал простое приложение для пользовательского ввода, которое в конце выводит (я хочу это сделать) все введенные данные. Проблема в том, что я не знаю, как сделать так, чтобы он не перезаписывал существующий объект, а создавал новый.
Я предполагаю, что могу создать массив или что-то подобное, и это должно решить проблему, но это не решает мой вопрос, поэтому я пришел сюда за помощью.
public class Main {
public static void main(String[] args) {
String next ="y";
int studentNum = 1;
Scanner scanner = new Scanner(System.in);
System.out.println("Do you want to add a student? y/n");
if(scanner.nextLine().equalsIgnoreCase("n"))
System.exit(0);
for(int i = 0;i<studentNum;i++){
Student student = new Student();
System.out.println("ID: ");
student.setId(scanner.nextLine());
System.out.println(("Ime: "));
student.setName(scanner.nextLine());
System.out.println("Prezime: ");
student.setSurname(scanner.nextLine());
System.out.println("Do you want to add another student? y/n");
if(scanner.nextLine().equalsIgnoreCase("y"))
studentNum+=1;
else
for(i =0;i<studentNum;i++)
System.out.println(student.toString());
}
}
И Студенческий класс
public class Student {
@Override
public String toString() {
return String.format("ID: %s \n%s %s\nAverage grade %.2f\n____________________\n",
id, surname, name, averageGrade() );
}
@Override
public boolean equals(Object obj) {
// pretpostavljamo da je predani objekt iz klase Student
Student otherStudent = (Student) obj;
return id.equals(otherStudent.id);
}
final int ARR_SIZE = 60;
private String id;
private String name;
private String surname;
private int noOfGrades;
private CourseGrade[] grades;
public String getId() {
return id;
}
public void setId(String newId) {
id = newId;
}
public String getName() {
return name;
}
public void setName(String newName) {
name = newName;
}
public String getSurname() {
return surname;
}
public void setSurname(String newSurname) {
surname = newSurname;
}
Если я хочу добавить другого студента, он перезаписывает существующего, который я ожидал, но я не знаю, как сделать так, чтобы он создал новый экземпляр.