Java謎題:小丑
這是一系列Java難題中的第一個,它以挑戰性和有趣的方式讓您的Java技能經受考驗!
謎題由一些給定的Java程式碼組成,其中有一行似乎無法企及。由你來找到它的漏洞,使用Java的微妙行為來使執行完成。
謎題
你怎麼能把20個小丑裝進一輛大眾汽車?
提供兩個類:一個空小丑類和一個大眾類,您可以新增小丑。當您嘗試新增小丑時,會檢查它是否已滿。儘管你努力嘗試,總有多餘的小丑…
package clowns; public class Clown { } package clowns; import java.util.HashSet; import java.util.Set; public class Volkswagen { private static final int CAPACITY = 5; private Set<Clown> clowns = new HashSet<Clown>(); public synchronized void add(Clown clown) { if (clowns.size() >= CAPACITY) { throw new IllegalStateException("I'm full"); } else { clowns.add(clown); } } public synchronized void done() { if (clowns.size() == 20) { // The goal is to reach this line System.out.println("I'm a Volkswagen with 20 clowns!"); } } } |
寫一個類,當執行時將20個小丑推入小汽車,併到達標記線。這個不會真正起作用,只是為了讓你開始:
package you; import clowns.Clown; import clowns.Volkswagen; public class You { public static void main(String args[]) { // TODO put 20 clowns into a Volkswagen Volkswagen vw = new Volkswagen(); for (int i = 0; i < 20; i++) { vw.add(new Clown()); } vw.done(); } } |
相關文章
- Java謎題1:小丑 - 解決方案Java
- Java謎題3:汽車Java
- Java 謎題 7:餅乾(Cookie)JavaCookie
- Java謎題5:球(ball)Java
- Java 謎題 2:夢境Java
- Java謎題6:雞與蛋Java
- Java謎題7:餅乾-解決方案Java
- Java 謎題4:液體(Liquid)JavaUI
- Java謎題3:汽車 - 解決方案Java
- Java謎題5:球(ball)-解決方案Java
- 解謎遊戲謎題設計研究(三):推理類謎題設計遊戲
- 解謎遊戲謎題設計研究(一):物品類謎題設計遊戲
- Java謎題6:雞與蛋-解決方案Java
- 解謎遊戲謎題設計研究(二):機關類謎題設計遊戲
- html canvas 與小丑 。HTMLCanvas
- Java解惑五:類之謎Java
- C語言的謎題C語言
- 微軟面試題之數字謎題 (轉)微軟面試題
- 冒險解謎遊戲如何讓謎題既有難度又有趣?遊戲
- 《演算法謎題》書評演算法
- 結合幾款有解謎要素的作品,聊聊遊戲的謎題設計遊戲
- 程式設計師?還是小丑?程式設計師
- 不是天才,怎麼抄《小丑牌》?——從《小丑牌》簡單拆解Roguelike的系統和體驗
- 深度學習 V.S. 謎題遊戲深度學習遊戲
- C 有關記憶體的小謎題記憶體
- 程式設計謎題:提升你解決問題的訓練場程式設計
- 為冒險解密遊戲設計一個好謎題解密遊戲設計
- 在 Linux 命令列中使用 nudoku 解決謎題Linux命令列
- LeetCode題解(1178):猜字謎(Python)LeetCodePython
- Java 表示式之謎:為什麼 index 增加了兩次?JavaIndex
- 淺談《Balatro》小丑牌的遊戲設計與rogue元素遊戲設計
- 小丑牌《Balatro》上線10天賣出50萬份
- 闡述遊戲謎題的存在意義及其設計原則遊戲
- redux-thunk 之謎Redux
- Rust——猜謎遊戲【二】Rust遊戲
- 簡評《嘎吱作響》——解決謎題是否意味著樂趣
- 控制時間破解謎題,順手還可以擼貓的《Timelie》
- Java高併發快取架構,快取雪崩、快取穿透之謎Java快取架構穿透