Unbekannter Array fehler

Hey,
ich sitze gerade an diesem, es soll so eine Art "Datenbank" werden wo mann beliebig viele Personen und beliebig viele Daten zu dieser Person einspeicher kann. Einzige Einschränkung dabei ist, dass Vor-und Nachname am Anfang des zweid. Array's stehen müssen. Und ich bekomme jetzt bei Zeile 22 irgendwie einen Debug-Error, weiß aber nicht woran es liegen könnte.
Java:
package datenbank_real;
import javax.swing.*;
public class datenbank_real {
    public static int arraysenk;
    public static String[][] datenbank = {
        { "Vorname: Max", "Nachname: Mustermann", "Alter: 14", "Größe: 168 cm", "Gewicht: 58 kg" },
        { "Vorname: Maximillian", "Nachname: java", "Alter: 17", "Größe: 175 cm", "Gewicht: 65 kg" },
        { "Vorname: XXXXX", "Nachname: YYYYY", "Alter: 50", "Größe: n.A.", "Gewicht: n.A." },
        { "Vorname: YXZ", "Nachname: ABCD", "Alter: 47", "Größe: n.A.", "Gewicht: n.A." },
    };
    public static void main(String[] args) {
        int arraywag = 0;
        arraysenk = 0;
        JOptionPane.showMessageDialog(null, "Bitte geben Sie den Namen der gesuchten Person ein!");
        String namesearch = JOptionPane.showInputDialog("Name der gesuchten Person");
        String[] name = namesearch.split(" ", 2);
        String vorname = name[0];
        String nachname = name[1];
        arraywag = 0;
        arraysenk = 0;
        for (arraysenk = 0; arraysenk <= datenbank.length; arraysenk++) {
            if (datenbank[arraysenk][arraywag].equalsIgnoreCase(vorname)) {
                arraywag += 1;
                if (datenbank[arraysenk][arraywag].equalsIgnoreCase(nachname)) {
                    ausgabe();
                }
            }
        }
    }
    public static void ausgabe() {
        for (int j = 0; j <= datenbank[arraysenk].length; j++) {
            System.out.println(datenbank[arraysenk][j]);
        }
    }
}

Ps: Das Programm ist so noch nicht fertig, hab bei den If's noch nicht einmal else's gemacht, also nicht wundern wenn etwas noch nicht fertig ist (sollte im Grunde genommen aber funktionieren)
 
Zuletzt bearbeitet von einem Moderator:
Ein Array das die Länge 10 besitzt hat die Indizes von 0 bis 9. Das heißt statt einem <= einfach ein < verwenden.
 
Die Variable arraywag setzt du nur vor der for-Schleife auf 0 und zählst sie innerhalb der Schleife immer um eins hoch - das ist bestimmt nicht, was du willst.
 
Doch eigentlich schon? Ich setze sie zuerst auf 0, was im Array dann die 1. Position wäre. Wenn das nun mit dem Vornamen übereinstimmt, erhöhe ich sie um 1, um den Nachnamen zu prüfen.
 

Zurück
Oben