Redundanzen im Programmcode

RememberdiAlamo

Aktives Mitglied
Sehr geehrtes geehrtes Problem, ich habe eine Community, die mir hoffentlich weiter hilft ^^

Also, was ich mal gemacht habe, ist eine Liste "Array" bestimmter Größe.

In dieser Liste werden Namen generiert und durch eine erneute ANgabe wird ermittelt, ob dieser Stringwert im Speicher ist, sowie an welcher Stelle.

WIe auch immer, wenn ich z.B. den Namen "Lisa" 2 3 4 mal eingebe, so gibt das Programm immer nur den Namen für eine Position in der Liste an.
Mit welchem Befehl kann ich dem Programm beibringen, alles LIstenpositionen aufzusagen?
Hier ist der Code:
Java:
import javax.swing.JOptionPane;

class NamenFinden{
      public static void main (String args[]){
           
            //Deklaration
            String anzahl;
            int n;
            String name;
            boolean gefunden = false;
           
            //n ueber Dialogbox einlesen
            anzahl = JOptionPane.showInputDialog("Geben Sie die Größe des Arrays ein");
            n = Integer.parseInt (anzahl);
           
            //Deklaration und Anlegen des Arrays
            String[] a;
            a = new String[n];
          
            //Einlesen von n Namen
            int zaehler = 0;
            while(zaehler < n){
                a[zaehler] = JOptionPane.showInputDialog("Geben Sie den "+(zaehler+1)+". ten Namen ein:");
                zaehler++;
              
            }
          
            //weiteren Namen einlesen und Position im Array ausgeben
          
            name = JOptionPane.showInputDialog("Geben Sie einen Namen ein, der im Array gesucht werden soll");
          
            //Suchen des Namens im Array
            for(int i = 0; i< a.length;i++){
                if(a[i].equals(name)){
                    JOptionPane.showMessageDialog(null, name +" ist an der " +(i+1)+". Stelle im Array vorhanden");
                    gefunden = true;
                    break;
                }
            }          
          
            //Ausgabe
            if (!gefunden)
                JOptionPane.showMessageDialog(null,name+ " ist im Array nicht vorhanden");          
          
            //Ausgabe des Arrays zur Kontrolle
            for (int i = 0; i<a.length;i++)
                System.out.println(a[i]);
      }    
}

Also, ich muss quasi diese Stelle

JOptionPane.showMessageDialog(null, name +" ist an der " +(i+1)+". Stelle im Array vorhanden")


ausbessern
 
Zuletzt bearbeitet von einem Moderator:

Joose

Top Contributor
Java:
            //Suchen des Namens im Array
            for(int i = 0; i< a.length;i++){
                if(a[i].equals(name)){
                    JOptionPane.showMessageDialog(null, name +" ist an der " +(i+1)+". Stelle im Array vorhanden");
                    gefunden = true;
                    break;
                }
            }

Was glaubst du denn was das break; in diesem Code Stückerl macht? ;)
 
Ähnliche Java Themen

Ähnliche Java Themen

Neue Themen


Oben