Variablen Warum bekomme ich da eine Fehlermeldung?

Georgius

Mitglied
Java:
public static int[] leeresFeldFinden(int zeileLeer, int spalteLeer, String [][] spielfeldNummern) {
	        	int[] leer=new int [2];
	        	int zeile = 1;
	        	int spalte =2;
	        	
	            for (int a=0; a<spielfeldNummern.length; a++) {
	                for (int b=0; b<spielfeldNummern.length; b++) {
	                    if (spielfeldNummern[a][b].equals("  ")) {
	                        leer[zeile] = a;
	                        leer[spalte] = b;
	                        return leer[];
	                    }
	                }
	            }
	        }

Ich habe den Codschnipsel aus einem anderen Beitrag hier und wollte das Problem lösen.
Da man ja keine globalen Variablen in Methoden ändern soll und nur eine Variable zurückgeben kann wollte ich das mit einem Array des Types int erledigen.

Eclipse erklärt das es int[] nicht in int umwandeln kann. Als Vorschlag soll man leer als int[] machen, das mache ich ja eh.

Danke

Georgius
 
Zuletzt bearbeitet:
Ich vermute, dass diese Zeile den Fehler wirft:
Java:
                            return leer[];

"leer" ist vom Typ schon Array, du kannst also einfach return leer; schreiben und es wird funktionieren. Benutzen kannst du es dann so:

Java:
int[] leer = leeresFeldFinden(...);
int zeile = leer[0];
int spalte = leer[1];

Du hast übrigens ein Array der Größe 2 angelegt, schreibst aber an die Positionen 1 und 2 - das geht nicht. Das Array hat zwei Einträge, die an den Positionen 0 und 1 liegen.
 

Neue Themen


Zurück
Oben