Java 解惑: 你能通過改變一個單詞來解決這個bug嗎?

jopen 10年前發布 | 5K 次閱讀 Java

Java 解惑: 你能通過改變一個單詞來解決這個bug嗎? 

作為《Java解惑》這本書的腦殘粉,我們一直想要尋找新的java謎題以滿足我們的好奇心。但是很長時間以來,我們并沒有搜集到比較滿意的題目, 所以為了向書中那些謎題致敬,我們決定自己造一個。解謎的好處就像書中所說的“一旦你解決了這些謎題,那些曾經愚弄過最具經驗的Java程序員的隱晦且有 違直覺的語言行為,將再也無法把你騙過”,除此之外,解謎過程所帶給我們的快樂也是難以比擬的。為了增加解謎的樂趣,我們決定從能完美解決問題的獲勝者中 挑選出一位,獎勵其250美元的Amazon禮品。趕緊行動起來吧,不過你需要正確地解釋出錯的根源。希望此時你的“功夫”已經達到比較高的境界了,祝好運。

基本信息
場景:有兩支棒球隊正在比賽,互有得分,突然“磅”的一聲,game over了。好了,大偵探,你的任務就是找出比賽終止的原因。
項目結構如下:

.
+-- Main.java
+-- simulator
|   +-- MatchSimulator.java
|   +-- SimulationVerifier.java
+-- data
|   +-- BoxScore.java
|   +-- BasketballMatch.java

main類會調用兩個Simulator線程,data目錄存放了定義分數和比賽的數據結構,其余的自己看吧。

比賽說明
1.前往https://github.com/takipi/puzzle-bballsim,將代碼下載下來編譯并運行,看看事故現場。
2.通過只改變一個keyword/token/identifier來修復這個bug,這里的改變指的是替換、增加、或刪除
3.解釋bug的原因以及如何修復
4.請在September 12, 12pm (PDT)前,將你的解決辦法(solution)和解釋(explanation)發送到hello@takipi.com
注意:你的解釋是評審的重要部分,就算你修復了bug但給出了錯誤或不完備的解釋將視為不合格。

為了防止不止一位高手能正確解出謎題,我們會從中隨機挑選一位獲勝者。答案和比賽結果會在截止日期后的一個周內給出,并且我們也會公布所有的獲勝者,讓他們接受他人的尊敬。

如有任何疑問請在下方發表評論;如果你找到了答案,在截止日期前請不要公布出來。再次祝你們好運。

來自:takipiblog

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!