Ich habe ein Problem, das ich jetzt versuchte, für etwa eine Woche zu lösen, aber nicht fast überall zu bekommen. Deshalb habe ich beschlossen, "mächtig" Stackoverflow zu fragen. Es tut mir leid, wenn das für erfahrene JAVA-Programmierer trivial ist.JAVA ArrayList Klasse Instanz Mitglied Prüfung ist Mitglied existiert
Ich habe ein ArrayList-Objekt, das eine benutzerdefinierte Klasse erweitert. Meine Klasse heißt "AddMitglied" und soll Mitglieder in meinem Programm speichern. Der Benutzer fügt neue Mitglieder hinzu und diese werden in einer ArrayList gespeichert.
paket mitgliederverwaltung;
public class AddMitglied {
public String addLastName;
public int addmemberNumber;
public String addFirstName;
public String adddateobBirth;
public String addstreet;
public int addNumber;
public int addPlz;
public String addtown;
public String addEmailadresse;
public int addTelefonnumber;
AddMitglied(String addLastName,int addmemberNumber,String addFirstName,
String adddateobBirth,String addstreet,int addNumber,
int addPlz,String addtown,String addEmailadresse,
int addTelefonnumber)
{
this.addLastName = addLastName;
this.addmemberNumber = addmemberNumber;
this.addFirstName = addFirstName;
this.adddateobBirth = adddateobBirth;
this.addstreet = addstreet;
this.addNumber = addNumber;
this.addPlz = addPlz;
this.addtown = addtown;
this.addEmailadresse = addEmailadresse;
this. addTelefonnumber = addTelefonnumber;
}
}
Offensichtlich möchte ich eine Art Mitgliedsnummer (public int AddNumber) greifen zu können, jedes Mitglied erhalten über
mitgliederliste.get(i).addNumber
so weit so gut, .. Ich Mitglieder hinzufügen können. Ich möchte auch überprüfen, ob eine Mitgliedsnummer bereits existiert, wenn ein Benutzer ein neues Mitglied eingibt. Um zu überprüfen, ob ein „int“ in das Programm eingegeben wird, ich die folgende Methode geschrieben haben:
public static int validateinputUser(){
System.out.println("give a number (only numeric values allowed): ");
Scanner inputUser = new Scanner(System.in);
int inputnumber = 0;
while (!inputUser.hasNextInt())
{
inputUser.next();
System.out.println("please enter numeric value");
}
inputnumber = inputUser.nextInt();
return 0;
}
}
diese Bisher funktioniert auch gut .. Nun mein Problem ist, wie man überprüfen, ob eine Benutzereingabe eine Anzahl & Prüfung ist wenn die Nummer in meinem Arraylist bereits existiert, um mehrere Benutzer mit der gleichen Benutzernummer zu vermeiden ... habe ich viel gegoogelt, aber irgendwie kam ich nicht in die Nähe einer passenden Lösung.
Was ich hier gefunden habe, ist die folgende Frage: Check if a value exists in ArrayList. Dort habe ich gelernt, dass es eine sogenannte "contains" -Methode gibt. Aber da wusste er schon, welches im Inneren zu verwenden ist. Ich kann die "contains" -Methode nicht verwenden, da ich irgendwie alle Mitglieder durchlaufen muss und prüfen muss, ob man bereits die Mitgliedsnummer hat. Wenn der Benutzer in einer Schleife bleiben muss, um ihn zu zwingen, eine andere auszuwählen.
Ich habe eine Website im Internet gefunden, die mir sagt, wie man das macht: http://crunchify.com/how-to-iterate-through-java-list-4-way-to-iterate-through-loop/ aber er iteriert über eine ArrayList mit Strings, die einfach ist, aber nicht direkt auf den Punkt meines Problems. Eine dort erwähnte Methode ist
java.util.stream.Stream.forEach
aber keine Ahnung, wie man das in meinem konkreten Beispiel benutzt.
"Ich kann nicht verwenden" enthält "Methode, weil ich irgendwie Schleife" warum? Dieser Teil von dir Frage ist nicht klar –