Ich hab ein paar Fragen zu einem Übungsbeispiel, Ich muss ein Hashset implementieren und dieses alphabetisch nach dem Nachnamen von Studenten ausgeben, zusätzlich soll ich einen neuen Studenten anlegen, nach bestimmten Studenten suchen (durch Nummer oder Name) und bestimmte Studenten löschen können. Irgendwie komm ich nicht weiter hätte jemand Lösungsvorschläge?
Java:
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Set<Student> studi = new HashSet<>();
studi.add(new Student(1, "Mustermann", "Max", "m"));
studi.add(new Student(2, "Müller", "Bernd", "m"));
studi.add(new Student(3, "Bauer", "Franz", "m"));
Iterator<Student> it = studi.iterator();
int input;
while (it.hasNext()) {
System.out.println("Wählen Sie zwischen 1-4");
System.out.println("1 = Student anlegen");
System.out.println("2 = Student suchen");
System.out.println("3 = Student löschen");
System.out.println("4 = Liste ausgeben");
System.out.println("5 = Beenden");
input = sc.nextInt();
switch (input) {
case 1:
System.out.println("Geben Sie die Daten des Studenten ein");
System.out.println("Geben Sie die Matrikelnummer an!");
int MatrNr = sc.nextInt();
System.out.println("Geben Sie ihren Nachnamen an!");
String Nachname = sc.next();
System.out.println("Geben Sie ihren Vornamen an!");
String Vorname = sc.next();
System.out.println("Geben Sie das Geschlecht an");
String Geschlecht = sc.next();
System.out.println("Student wurde angelegt!");
Student student = new Student(MatrNr, Nachname, Vorname, Geschlecht);
studi.add(student);
System.out.println(student);
break;
case 2:
break;
case 3:
break;
case 4:
for (Student studenten : studi) {
System.out.println(it.next());
}
break;
case 5:
System.out.println("Programm wurde beendet!");
System.exit(0);
break;
}
}
}
}
Code:
class Student {
int MatrNr;
String Vorname;
String Nachname;
String Geschlecht;
public Student(int MatrNr, String Nachname, String Vorname, String Geschlecht) {
this.MatrNr = MatrNr;
this.Vorname = Vorname;
this.Nachname = Nachname;
this.Geschlecht = Geschlecht;
}
public int getMatrNr() {
return MatrNr;
}
public String getVorname() {
return Vorname;
}
public String getNachname() {
return Nachname;
}
public String getGeschlecht() {
return Geschlecht;
}
public void setMatrNr(int MatrNr) {
this.MatrNr = MatrNr;
}
public void SetVorname(String Vorname) {
this.Vorname = Vorname;
}
public void SetNachname(String Nachname) {
this.Nachname = Nachname;
}
public void SetGeschlecht(String Geschlecht) {
this.Geschlecht = Geschlecht;
}
@Override
public String toString() {
return "MatrNr = " + MatrNr + ", Nachname = " + Nachname + ", Vorname = " + Vorname + ", Geschlecht = " + Geschlecht;
}
}
Code:
public class meinComp implements Comparator<Student> {
@Override
public int compare(Student a , Student b) {
return a.getNachname().compareTo(b.getNachname());
}
}