转载

Java谜题6:鸡与蛋

http://wouter.coekaerts.be/2012/puzzle-chicken

先有鸡还是蛋?

如果每一个鸡蛋都从鸡身上得到了这个问题的秘密答案,那又会怎样呢?

<b>package</b> chicken;
 
<b>public</b> <b>class</b> Egg {
    <b>final</b> Object first;
     
    <b>public</b> Egg(Chicken mom) {
        first = mom.first;
    }
}

如果这样,每只鸡也都从鸡蛋中得到了答案,并将其代代相传。那么我们也可以问问任何一只鸡!

<b>package</b> chicken;
 
<b>public</b> <b>class</b> Chicken {
    <b>final</b> Object first;
     
    <b>public</b> Chicken(Egg egg) {
        first = egg.first;
    }
     
    <b>public</b> <b>void</b> ask() {
        <font><i>// The goal is to reach this line</i></font><font>
        System.out.println(</font><font>"First there was the "</font><font> + first);
    }
}
</font>

现在您需要弄清楚的是如何创建蛋生鸡鸡生蛋这个问题。

这是天真的尝试,会引发NullPointerException。您可以对其进行编辑以使其起作用吗?

<b>package</b> creator;
 
<b>import</b> chicken.Chicken;
 
<b>public</b> <b>class</b> Creator {
    <b>public</b> <b>static</b> <b>void</b> main(String[] args) {
        <b>new</b> Chicken(<b>null</b>).ask();
    }
}

与通常应用的规则和系统相同:必须在启用安全管理器的情况下运行(-djava.security.manager)。您的解决方案必须在creator包中。

原文  https://www.jdon.com/53162
正文到此结束
Loading...