Array List mit String vergleichen und Fehlermeldung ausgeben

Celedrain

Mitglied
Hallo an alle,

nachdem ihr mir das letzte Mal so toll helfen konntet, habe ich nun eine zweite Frage:

Ich habe eine ArrayListe die ich daraufhin prüfe ob ein String in ihr gespeichert ist.

Das mache ich mit:

Java:
public void NameDerMethode(int menge, String name)
    {
        for(Fall fall : fallliste.gibList())
        {
            if(fall.gibName().equals(name))
            {

                System.out.println(fall.gibName());
                
            }
            else if(!fall.gibName().equals(name))
            {
                
                System.out.println("Nein");
                
                
          
        }

Leider erhalte ich so aber nicht nur einmal ein "Nein", sondern so viele "Neins" wie Strings in meiner ArrayListe gespeichert sind.

Mir ist klar, dass das daher kommt, weil er jeden gespeicherten Wert vergleicht und für jeden Wert der den Namen nicht enthält ein "Nein" ausgibt.

Was muss ich ändern, damit er die ArrayListe durchläuft und mir am Ende des Durchlaufs nur einmal die Antwort "Nein" ausgibt?

Vielen Dank schonmal
 
vielleicht kannst du einfach eine Flag setzten und statt dem print("nein") die Flag setzten und am ende diese überprüfen.

bsp.:

Java:
int flag = 0;
for(Fall fall : fallliste.gibList()){
     if(fall.gibName().equals(name)){                 
              System.out.println(fall.gibName());                            
      }else if(!fall.gibName().equals(name)){                                
              flag = 1;                      
}
if(flag == 1){
     System.out.println("nein");
}
[
 
Zuletzt bearbeitet von einem Moderator:
vielleicht kannst du einfach eine Flag setzten und statt dem print("nein") die Flag setzten und am ende diese überprüfen.

bsp.:

Java:
int flag = 0;
for(Fall fall : fallliste.gibList()){
     if(fall.gibName().equals(name)){                 
              System.out.println(fall.gibName());                            
      }else if(!fall.gibName().equals(name)){                                
              flag = 1;                      
}
if(flag == 1){
     System.out.println("nein");
}
[

Dann aber wohl eher in dem anderen Fall das Flag setzen ;🙂autsch::lol:
 
Hallo,

danke für die Anregung.

Ich bin leider ein ziemlicher Neuling in der Programmierung und habe den Begriff flag einfach mal schnell gegoogelt. Dabei kam jetzt aber nicht wirklich etwas heraus.
Gestattet mir die Frage: was ist dieses flag und was bewirkt es?

MfG
 
Flag in meinem Fall ist nur der Name einer int Variablen. Aber ich kenne "flags" als allg. ein Zeichen mit dem ich etwas überprüfen kann bzw. das mir etwas anzeigt.

vielleicht ähnlich wie die Flaggen bei der Formel 1. wenn etwas passiert hält jemand eine bestimmte Flagge raus und schon wissen alle Beteiligten was passiert ist. 😀


hier mal Wikipedia dazu
 
Zuletzt bearbeitet von einem Moderator:

Zurück
Oben