Boolean Abfrage gibt kein Boolean zurück, aber warum?

  • Themenstarter Themenstarter zonkone
  • Beginndatum Beginndatum
Z

zonkone

Gast
Hallo,
ich habe mal eine Frage. Folgender Code liegt meinem Problem zugrunde:
Java:
	public static boolean isPositionInLevel(char[] lvl, int x){
		boolean bool;
		System.out.println(lvl.length);
		{if (x <lvl.length)
			{bool = true;}
		{bool = false;}}
		return bool;
	}

Ich versteh nicht warum mir kein true oder false zurück gegeben wird. Kann mir jemand helfen, bzw sagen warum ich keinen Boolean zurück gegeben bekomme? Mein ziel ist es einen OutofBounds-Fehler vorzubeugen.

Danke!
 
Was sollen diese paar Klammerungen da? (vor dem if...nach dem if ..) und wo ist das else was du vemrutlich suchst? ???:L???:L
(formatieren hilft manchmal)
Probiers mal so
Java:
    public static boolean isPositionInLevel(char[] lvl, int x) {
	boolean bool;
	System.out.println(lvl.length);
	if (x < lvl.length) {
	    bool = true;
	} else {
	    bool = false;
	}
	return bool;
    }
oder einfach
Java:
    public static boolean isPositionInLevel(char[] lvl, int x) {
	return x < lvl.length;
    }
 
was bedeutet es, 'kein true oder false zurück gegeben',
wenn du die Methode aufrufst wird dann der Bildschirm grün-grau, eine Melodie erklingt, und sonst passiert nichts weiter?
welche Reaktion findet genau statt bei welchem Aufruf oder welche Fehlermeldung kommt?

wenn doch, dann gibt die Methode immer false zurück, denn die Zeile 6 wird immer ausgeführt, soll da noch ein else rein?

die Methode läßt sich zusammenkürzen auf
return x <lvl.length;
 
Weil das else fehlte:
Java:
public static boolean isPositionInLevel(char[] lvl, int x){
        boolean bool;
        System.out.println(lvl.length);
        if (x <lvl.length) {
            bool = true;
        } else {
           bool = false;
        }
        
        return bool;
    }

Du könntest aber auch gleich schreiben:
Java:
public static boolean isPositionInLevel(char[] lvl, int x){
        System.out.println(lvl.length);

        return x <lvl.length;
}

EDIT: wie meine beiden Vorgänger zeitgleich feststellten...
 
Danke, ich seh den Wald vor Bäumen ncht mehr, wir müssen ein Spiel von der Uni aus programmieren und ich bin nicht so sicher darin. Sehr großes Danke für die schnelle Hilfe, sogar mit Auswahl🙂Spitze!
 
Je nachdem was das für ein Spiel ist und wie das 'x' deinem Programm übergeben/eingegeben wird...wenn da jmd negative Zahlen eingibt, verhinderst du, mit dem genannten Codestück,die Exception trotzdem nicht ;D
(>=0 ... < lenght)
 
Wir schreiben gerade Plumber, ich benötige diese Abfrage um zu verhindern, dass eine Rohrleitungsöffnung die am Rand liegt und auf diesen zeigt, zum Spielende führt (GAME OVER), aber nicht zum OutOfBoundsFehler! negative Zahlen kommen nicht vor, danke für den Hinweise!
 

Zurück
Oben