Java謎題5:球(ball)

jdon發表於2019-09-20

在今天的Java拼圖中,我們玩了一個非常簡單的遊戲。我扔了一個球,如果你接到它,就得分。你的總得分是你接球的次數。想想看還有另一種得分方式嗎?

package game;
 
public final class Game {
 
    private final Ball ball = new Ball();
    private volatile long score;
 
    public final class Ball extends Throwable {
        private volatile long caught;
 
        private Ball() {
        }
 
        public synchronized void caught() {
            if (caught++ < score++) {
                // The goal is to reach this line
                System.out.println("You cheated!");
            }
        }
    }
 
    public void play() throws Ball {
        throw ball;
    }
}


與往常一樣的規則適用; 您必須在啟用安全管理器(-Djava.security.manager)的情況下執行。您的解決方案也必須在play包中。不允許在遊戲包中放入任何其他內容。。
 

相關文章