Не могу разобраться в задании: Вы разрабатываете систему учета студентов. Для каждого студента нужно хранить следующие данные – ФИО, номер группы, номер студенческого билета. Уникальным идентификатором является номер студенческого билета. Пользователь вводит данные студентов в бесконечном цикле до ввода команды "end". По окончании ввода программа должна вывести список студентов. Структура данных, куда сохраняются студенты, должна отбрасывать ввод одного и того же студента более одного раза. Учитывайте, что имена у людей могут быть одинаковыми, а номера документов – нет.
import java.util.HashSet;
import java.util.Scanner;
import java.util.Iterator;
import java.util.Set;
public class Main {
public static void main(String[] args) {
Set<Student> listOfStudents = new HashSet<>();
Scanner scanner = new Scanner(System.in);
System.out.println("Введите информацию о студенте: \"ФИО, номер группы, номер студенческого билета\"");
while (true) {
String input = scanner.nextLine();
System.out.println("Введите информацию о студенте (для завершения работы программы введите \"end\")");
String[] parts = input.split(", ");
String name = parts[0];
String group = parts[1];
String studentId = parts[2];
Student stud = new Student(name, group, studentId);
listOfStudents.add(stud);
System.out.println(listOfStudents);
if ("end".equals(input)) {
System.out.println("Список студентов:");
Iterator<Student> i = listOfStudents.iterator();
while (i.hasNext())
System.out.println(i.next());
}
}
}
}
import java.util.Objects;
public class Student {
protected String name;
protected String group;
protected String studentId;
public Student(String name, String group, String studentId) {
this.name = name;
this.group = group;
this.studentId = studentId;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Student student = (Student) o;
return Objects.equals(name, student.name) && Objects.equals(group, student.group) &&
Objects.equals(studentId, student.studentId);
}
@Override
public int hashCode() {
return Objects.hash(name, group, studentId);
}
}
При вводе команды end выдает ошибку, не пойму почему:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1
at com.company.Main.main(Main.java:21)