Java folgt nicht dem Code? [Duplikat]
Diese Frage hat hier bereits eine Antwort:
In der Schleife wird kein Wert angezeigt, der von einem anderen Thread ohne eine print-Anweisung geändert wurde 1 AntwortHier ist ein Ausschnitt aus dem Code, der meiner Meinung nach nicht dem entspricht, was der Code tun soll:
public void updateTimeElapsed() {
timeElapsedLabel.setText("Time elapsed: " + ((System.nanoTime() - time) / Math.pow(10, 9)));
}
public void updateTimeElapsedIndefinitely() {
while (true) {
//System.out.println("Hi");
//TODO: Why this no work?
if (start) { System.out.println("Shoulda'"); updateTimeElapsed(); }
}
}
Wenn ich kommentiere
System.out.println("Hi")
Der Code funktioniert anscheinend nicht. Wenn ich es auskommentiere, dann tut es das!
Hinweis: Start ist wahr, sobald Sie 's' drücken, um das Spiel zu starten. Die Methode wird jedoch zu Beginn aufgerufen, sodass "hi" so oft und unbegrenzt angezeigt werden sollte, bis ich die Taste "s" drücke.
Ein Bild sagt mehr als tausend Worte, also gebe ich Ihnen Hunderte von Bildern (Video), um zu erklären, was ich meine:https://dl.dropbox.com/u/2792692/CodeWeird.ogv
https://dl.dropbox.com/u/2792692/CodeWeird.wmv
Kann mir jemand sagen, was los ist?