n-namen in arrray einlesen und mit stelle ausgeben

lennero

Bekanntes Mitglied
hallo! es sollen mit joptionpane n namen eingelesen werden und anschließend soll ein name eingegeben werden. wenn dieser name im array vorhanden ist soll eine meldung ausgegeben werden zusammen mit der stelle an der er sich im array befindet. falls nicht soll dementsprechend auch eine meldung ausgegeben werden. habe wohl irgendwo einen hänger denn die richtige stelle wird nicht ausgegeben. statt 2 wird zb die stelle 11 ausgegeben und statt 4 die 31. weiß leider nicht mehr weiter.

Java:
import javax.swing.JOptionPane;

class array{
    public static void main(String[]args){
       
        String eingabe,name;
        int n;
        boolean gefunden;
       
        gefunden = false;
       
        eingabe=JOptionPane.showInputDialog("Geben sie die Größe des Arrays ein.");
        n=Integer.parseInt(eingabe);
       
        String [] a;
       
        a = new String [n];
       
        int zahl = 0;
       
        while (zahl<n){
            a[zahl] = JOptionPane.showInputDialog("Geben sie den "+(zahl+1)+"ten Namen ein.");
            zahl++;
        }
       
        name = JOptionPane.showInputDialog("Geben sie den gesuchten Namen ein.");
       
        for (int i=0; i<a.length;i++){
            if(a[i].equals(name)){
                JOptionPane.showMessageDialog(null,name+" ist im Array an der Stelle "+i+1+" vorhanden.");
                gefunden = true;
                break;
               
            }
           
        }
           
        if (!gefunden){
            JOptionPane.showMessageDialog(null,name+" ist im Array nicht vorhanden.");
           
           
        }
       
       
       
    }
}
 

Tarrew

Top Contributor
Java:
JOptionPane.showMessageDialog(null,name+" ist im Array an der Stelle "+(i+1)+" vorhanden.");

Du musst die Berechnung klammern sonst werden die Strings einfach konkateniert
 

Neue Themen


Oben