Problem mit Array

codeman

Erfahrenes Mitglied
Hallo,

Ich hab ein Problem mit einem Array das ich durchlaufen muss und feststellen ob eine Feld schon belegt ist. Ist das Feld noch frei sollte retval=true zurückgegeben werden.
Ein Feld ist frei wenn der Inhalt des char-Arrays ' ' ist. (das wird vorher mal belegt).
Nur leider funktioniert das nicht. Vielleicht kann mir jemand sagen wo der Fehler liegt.

Code:
	public static boolean isfree(int x, int y)
	{
		retval = false;
		for (int zeile = 0; zeile <= x; zeile++)
		{
			for (int spalte = 0; spalte <= y; spalte++)
			{
				if (field [zeile][spalte] == ' '){
					retval = true;

			}
		}
		
		return (retval);
	}

Danke im Voraus.
codeman
 
Hallo Codeman,

warum so umständlich wenn du einfach nur überprüfen willst ob ein Matrixelement leer ist. Ich hab dir auch alternativ eine einfachere Methode geschrieben.

Code:
public class IsFreeExample {

	static char[][] field = { { 'a', 'b', ' ' }, { '1', ' ', '3' } };

	public static void main(String[] args) {
		System.out.println(isfree(0, 1));
		System.out.println(isfree(1, 1));
		System.out.println();
		System.out.println(isfreenew(0, 1));
		System.out.println(isfreenew(1, 1));
	}

	public static boolean isfree(int x, int y) {
		boolean retval = false;
		for (int zeile = 0; zeile <= x; zeile++) {
			for (int spalte = 0; spalte <= y; spalte++) {
				if (field[zeile][spalte] == ' ') {
					retval = true;
				}
			}
		}
		return (retval);
	}

	public static boolean isfreenew(int x, int y) {
		if (field[x][y] == ' ')
			return true;
		else
			return false;
	}
}

Vg Erdal
 
Danke.
Funktioniert einwandfrei!

"warum so umständlich wenn du einfach nur überprüfen willst ob ein Matrixelement leer ist. " - Ja frag ich mich im Nachinein auch. Muss wohl daran liegen dass ich noch nicht lange mit mit Java arbeite und mich mehr um den Syntax als um die Logik kümmern muss.
 
Zurück