Variablen boolean-wert wird nicht gesetzt

thoff430

Mitglied
Hallo miteinander,

ich wollte schon eine geraume Zeit mit dem Programmieren beginnen...und jetzt habe ich endlich einen Java-Kurs an meiner Uni. Wir arbeiten mit GreenFoot, hab selbst aber auch schon ein wenig Erfahrung im Umgang mit Eclipse gesammelt. Stehe trotzdem noch ziemlich am Anfang... und habe folgendes Problem:

Das Huhn soll in die obere rechte Ecke laufen, Schritt für Schritt, falls es da nicht bereits ist.
Mein Plan war jetzt durch die Variable reachedNBorder dem Huhn mitzuteilen, dass es bereits dort angekommen ist. Dadurch möchte ich verhindern, dass es sich wieder dem Norden zuwendet, nachdem es sich, bereits angekommen, nach Osten dreht. Aber wenn die obere Grenze erreicht ist wird weder reachedNBorder auf false gesetzt, noch dreht das Huhn sich nach rechts.
Mir geht es jetzt nicht um die optimalste Lösung für die Aufgabe (nach oben rechts gehen), sondern nur um das eben beschriebene Problem. Ich find die Lösung nicht, was übersehe ich?





Java:
/**
     * Lets Chicken walk to the 
     * upper right corner
     */
    public void goToURCorner() {
        if (getX() != 7 && getY() != 0) {
            if (! facingNorth() && ! reachedNBorder) {
                switch (direction) {
                    case EAST:
                        turnLeft();
                        break;
                    case SOUTH:
                        turn();
                        break;
                    case WEST:
                        turnRight();
                        break;
                }            
            }
            if (canMove()) {
                move();
            } else if (getY() == 0 && ! reachedEBorder){
                reachedNBorder = true;
                turnRight();
            }       
        }
    }
 

Schrubber

Bekanntes Mitglied
Wenn er "nur" nach oben rechts in die Ecke soll... Warum machst du dann keine 2 For-Schleifen?

1.: for (int i = getY(); i > 1; i--) {
//Hier kommt der Befehl hin, wodurch er nach Norden läuft
}
for (int i = getX(); i < 8; i++) {
//Hier kommt der Befehl hin, wodurch er nach Osten läuft
}


1.
getX() != 7
Müsste da nicht 8 hin? Oben links ist Feld 1/1, unten Rechts 8/8??

Und dementsprechend dann auch hier:
getY() == 0 auf 1.... aber kann mich auch irren.
 

thoff430

Mitglied
Hatten bis jetzt im Kurs noch keine for-Schleifen, werd sie aber trotzdem mal einbauen (habs auch schon so mit dem switch gemacht...).

Das Kästchen ganz oben links ist (0, 0), das stimmt schon soweit.

edit: Habs eingebaut, funktioniert auch nicht so, wie es sollte. Das Huhn geht dann in einem Schritt bis zur Ecke, anstatt in Einzelschritten. Wenn act() aufgerufen wird, soll das Huhn nur einen Schritt gehen.
 
Zuletzt bearbeitet:
S

Spacerat

Gast
Das zum Lernen von Java immer gleich irgendwelche Logo ähnlichen APIs herangezogen werden müssen, ist mir persönlich stets ein Rätsel. Durch das Javabuch von G. Krüger und der Insel lernt man meines Erachtens viel mehr und ausserdem viel schneller. Immerhin: GreenFoot scheint schon mal besser als JavaKara.

Zum Problem: Wenn das Huhn bereits rechts startet, kann reachedNBorder niemals true werden. Ebenso verhält es sich immer dann, wenn das Huhn die rechte Seite zuerst erreicht.
Da mir auch GreenFoot völlig fremd ist (und dies auch bleiben wird ;)) hier mal bissl' Pseudocode
Code:
goUpperRight()
{
  int x = getX();
  int y = getY();
  bool reachedNBorder = y == 0;
  bool reachedEBorder = x == 7;
  bool turned = false;
  bool moveable = !(reachedNBorder && reachedEBorder);

  if(moveable) {
    if(!reachedNBorder) {
      if(!facingNorth()) {
        turnNorth(); // abgekürzt
      }
    }
    else if(!turned) {
      turnRight();
      turned = true;
    }
    move();
  }
}
 
Zuletzt bearbeitet von einem Moderator:

thoff430

Mitglied
Dass wir schon Code schreiben ist schon was neues, im Prinzip geht es erstmal darum das Prinzip der objektorientierten Programmierung zu verinnerlichen. "Richiges" Java kommt schon früh genug (ich hab schon einige Kleinigkeiten in Eclipse geübt mit Hilfe von Java for Dummies :D .

Ich bin die Sache inzwischen anders angegangen, stoße da aber auf weitere Probleme...siehe anderen Thread.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
xaerez Threads Boolean Wert verändert sich nicht Java Basics - Anfänger-Themen 5
xaerez Threads Boolean Wert verändert sich nicht Java Basics - Anfänger-Themen 4
G Rekursive Methode liefert augenscheinlich keinen boolean-Wert zurück. Java Basics - Anfänger-Themen 4
V Boolean Wert nicht richtig erkannt Java Basics - Anfänger-Themen 4
F Boolean Methode Wert ausgeben. Java Basics - Anfänger-Themen 2
X Erste Schritte boolean wert ändert sich nicht? Java Basics - Anfänger-Themen 6
W Problem mit dem Wert von boolean-Variable Java Basics - Anfänger-Themen 3
S boolean Wert von mehreren int Möglichkeiten abfragen ? Java Basics - Anfänger-Themen 4
? Methoden Boolean Wert vergleichen und einlesen Java Basics - Anfänger-Themen 1
G Wie kann man den Erfolg einer Zuweisung als Boolean Wert verwenden? Java Basics - Anfänger-Themen 12
S Name eines boolean ausgeben (nicht den Wert) Java Basics - Anfänger-Themen 43
S Boolean Wert in Cookie speichern und auslesen Java Basics - Anfänger-Themen 19
E Boolean wert innerhalb einer Tabelle ändern Java Basics - Anfänger-Themen 4
T Checkbox in jtable: boolean wert direkt setzen - wie? Java Basics - Anfänger-Themen 1
G Boolean Wert zuweisen Java Basics - Anfänger-Themen 1
R Java boolean Unterschied " == " und " = " Java Basics - Anfänger-Themen 3
Zentriks Hilfe zu Sieb des Eratosthenes ohne boolean Java Basics - Anfänger-Themen 5
Thomas06 Wie kann man mithilfe von boolean herausfinden ob eine zahl durch 5 und 7 teilbart ist ? Java Basics - Anfänger-Themen 7
C Java boolean Code läuft nicht Java Basics - Anfänger-Themen 5
V Hilfe bei Implementierung einer boolean Methode Java Basics - Anfänger-Themen 6
B Rückgabewert boolean Java Basics - Anfänger-Themen 8
J Compiler-Fehler Harshadzahlen mit Boolean Java Basics - Anfänger-Themen 4
J boolean aufgabe Java Basics - Anfänger-Themen 9
A Boolean Java Basics - Anfänger-Themen 5
C Ausgabe boolean return ((n==9)||(n==0)); Java Basics - Anfänger-Themen 13
J Boolean[] teilen Java Basics - Anfänger-Themen 13
S public static boolean Java Basics - Anfänger-Themen 4
R Boolean Methode Rückgabewert if() Java Basics - Anfänger-Themen 1
kazzam94 Methode soll Array von Boolean zurückgeben Java Basics - Anfänger-Themen 5
L Überschriebene Boolean Statements Java Basics - Anfänger-Themen 2
L boolean-Abfrage enumeration Java Basics - Anfänger-Themen 3
A Ausgabe mit boolean Java Basics - Anfänger-Themen 3
R Boolean value ohne Kontrollstrukturen ändern Java Basics - Anfänger-Themen 5
F boolean stellt sich auf true Java Basics - Anfänger-Themen 15
Kirby.exe ArrayOutOfBoundsException bei boolean Array Java Basics - Anfänger-Themen 19
C Ganzzahlige Werte in Boolean ausgeben und überprüfen ob Primzahl oder nicht, wenn es keine Primzahl ist soll es die Primfaktorzerlegung ausgeben Java Basics - Anfänger-Themen 4
I converting boolean Array to String Array Java Basics - Anfänger-Themen 10
C Java Boolean reagiert nicht Java Basics - Anfänger-Themen 18
A Alle true Werte eines boolean Arrays herausfiltern Java Basics - Anfänger-Themen 19
G Ratlosigkeit zur Aufgabe im Anhang (boolean, equals.) Java Basics - Anfänger-Themen 20
K Boolean in einer Methode um 2 Objekte zu vergleichen Java Basics - Anfänger-Themen 12
K Boolean in einer erstellten Klasse verwenden Java Basics - Anfänger-Themen 14
P Array Sortieren mit boolean? Java Basics - Anfänger-Themen 33
A Boolean in String Java Basics - Anfänger-Themen 2
S Operatoren Boolean Vergleichsoperator Java Basics - Anfänger-Themen 7
Queiser Super boolean Java Basics - Anfänger-Themen 11
E ISBN Nummer mit boolean Java Basics - Anfänger-Themen 5
W In Methode boolean array zurückgeben Java Basics - Anfänger-Themen 3
B Math.random mit Boolean array? Java Basics - Anfänger-Themen 17
Z Boolean Abfrage in einer for each Schleife Java Basics - Anfänger-Themen 2
T Methoden Boolean wird nicht gesetzt Java Basics - Anfänger-Themen 1
H boolean Array Problem Java Basics - Anfänger-Themen 7
J Problem mit Boolean bei Funktion! Java Basics - Anfänger-Themen 5
O boolean Array Frage! Java Basics - Anfänger-Themen 4
M Erste Schritte while boolean=false läuft nur bei true??? Java Basics - Anfänger-Themen 23
D Boolean Array initialisieren Java Basics - Anfänger-Themen 4
M Datentypen Byte, Float und Boolean Java Basics - Anfänger-Themen 13
A Problem beim Deklarieren von einem BOOLEAN Java Basics - Anfänger-Themen 4
W Interpreter-Fehler boolean nur eins darf wahr sein Java Basics - Anfänger-Themen 11
K Problem mit Methode(Array,Boolean,ForSchleife) Java Basics - Anfänger-Themen 6
V Methode erstellen für ein Boolean Array Java Basics - Anfänger-Themen 13
T Boolean by Reference Java Basics - Anfänger-Themen 6
L Wertebereich von boolean Java Basics - Anfänger-Themen 4
D Erklärung static boolean Java Basics - Anfänger-Themen 6
T Eine String Matrix erstellen die eine boolean Funtion verwendet Java Basics - Anfänger-Themen 10
J Datentypen Boolean Refferenz Objekt Java Basics - Anfänger-Themen 2
A boolean Methode ohne If und else Java Basics - Anfänger-Themen 1
fLooojava Laufender Thread | Boolean ändern Java Basics - Anfänger-Themen 9
T Boolean Missing return Statement?! Java Basics - Anfänger-Themen 2
A Boolean aus dem ActionlListener Java Basics - Anfänger-Themen 1
T hashCode mit boolean Java Basics - Anfänger-Themen 1
T boolean, was passiert hier? Java Basics - Anfänger-Themen 4
M Sind solche boolean Anweisen empfehlenswert? Java Basics - Anfänger-Themen 3
N Boolean Werte - immer "false" Java Basics - Anfänger-Themen 5
J GUI per Boolean steuern Java Basics - Anfänger-Themen 3
F Effizientes Lesen von 65 Datein mit Boolean Werten Java Basics - Anfänger-Themen 6
K Viergewinnt - boolean Problem Java Basics - Anfänger-Themen 2
S Best Practice Boolean mit IF verbinden Java Basics - Anfänger-Themen 7
D Boolean mit String Java Basics - Anfänger-Themen 2
K Methode ohne Rückgabewert in boolean Methode ändern Java Basics - Anfänger-Themen 6
E 2 dimensionales Boolean Array Java Basics - Anfänger-Themen 5
B assertArrayEquals nicht für boolean[]? Java Basics - Anfänger-Themen 2
M !boolean das selbe wie boolean == false? Java Basics - Anfänger-Themen 3
L Boolean Methode wirft Fehler aus Java Basics - Anfänger-Themen 12
M Erste Schritte boolean: ist Zahl Hexadezimal - Lösung verwirrend Java Basics - Anfänger-Themen 6
F Datentypen Frage nach Boolean Java Basics - Anfänger-Themen 11
C Sieb des Eratosthenes ohne boolean Java Basics - Anfänger-Themen 20
B Boolean abfrage Java Basics - Anfänger-Themen 3
L The operator && is undefined for the argument type(s) String, boolean Java Basics - Anfänger-Themen 8
L Methoden Boolean-Methode Java Basics - Anfänger-Themen 16
S Setter Methode von Boolean Java Basics - Anfänger-Themen 11
W Datentypen Zweidimensionales Boolean Array Java Basics - Anfänger-Themen 13
P Compiler-Fehler Boolean: Missing Return Statement Java Basics - Anfänger-Themen 4
M int & boolean Java Basics - Anfänger-Themen 12
feardorcha boolean array false - true - Abfrage Java Basics - Anfänger-Themen 10
R boolean, if-else Java Basics - Anfänger-Themen 7
J Variablen Boolean true "übersetzen" in String Java Basics - Anfänger-Themen 10
M Meldung "cannot convert flom boolean to boolean[]" Java Basics - Anfänger-Themen 3
S Variablen Prüfen, ob einer von vielen boolean true ist Java Basics - Anfänger-Themen 8
D boolean te wird nicht verwendet Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben