这是我认为不遵循代码应该做什么的代码片段:
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(); }
}
}
如果我评论
System.out.println("Hi")
该代码显然不起作用。如果我取消注释它,那么它就是!
注意:当您按下“s”开始游戏时,start 为真。但是,该方法是在开始时调用的,所以“hi”应该显示很多次并且无限期地显示,直到我按下“s”键。
一张图说一千个字,那我给你上百张图(视频)来解释我的意思: https ://dl.dropbox.com/u/2792692/CodeWeird.ogv
https://dl.dropbox.com/u/2792692/CodeWeird.wmv
谁能告诉我发生了什么?