[OFF-TOPIC] - Puzzle do Joshua Bloch

1 view
Skip to first unread message

Bonifacio Segundo

unread,
Apr 28, 2011, 1:30:50 PM4/28/11
to pb...@googlegroups.com
Gente,

Recentemente vi um puzzle proposto pelo Joshua Bloch que vale a pena ser compartilhado. (Se você não sabe quem é, manda um e-mail pra cá que eu te digo: pbjug+un...@googlegroups.com).

É o seguinte: Na classe abaixo, você tem que ajustar a assinatura do método story (e somente ela) para que o programa imprima a mensagem "O noes!".

public class Story {
   public static void main(String[] args) {
       Object o = null;
       story(o);
   }

   private static void story(<you provide the declaration> o) {
       if (o != null)
           System.out.println("O noes!");
   }
}

Eu duvido muito que alguém consiga resolver sem saber explicar o porquê. Mas não custa lembrar que é preciso dizer o que mudar e explicar como a solução funciona, ok?

PS: Não estrague a brincadeira, Maurício. :P

--
Bonifacio Segundo
Ludologista Mirim

"A luz do sol vale mais que os pensamentos de todos os filósofos e de todos os poetas." Fernando Pessoa

Marcio Dorimar

unread,
Apr 28, 2011, 2:51:12 PM4/28/11
to pb...@googlegroups.com
Object...

no caso, "o" é um array de Object com um elemento null.

o[0] == null

é isso?
 
2011/4/28 Bonifacio Segundo <bonifaci...@gmail.com>

--
Você está recebendo esta mensagem porque se inscreveu no grupo "PBJug" dos Grupos do Google.
Para postar neste grupo, envie um e-mail para pb...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para pbjug+un...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/pbjug?hl=pt-BR.



--
Márcio Dorimar da Silva Gomes
FNDE/OEI - Brasília/DF
Graduado em Ciências da Computacao - DSC - UFCG

Rodrigo Chieppe

unread,
Apr 28, 2011, 2:59:29 PM4/28/11
to pb...@googlegroups.com
Simples

--------------------------------------------------------------------------------------------------

public class Story {
   public static void main(String[] args) {
       Object o = null;
       story(o);
   }

   private static void story(Object... o) {

       if (o != null)
           System.out.println("O noes!");
   }
}
--------------------------------------------------------------------------------------------------
Isso é usando varargs. Ele considera que o método esta recebendo um array de Object. No caso um array com 1 elemento Object. Esse elemento é null, porém o array não, já que contém um objeto dentro.

Abraços

Rodrigo


--

Bonifacio Segundo

unread,
Apr 28, 2011, 3:00:58 PM4/28/11
to pb...@googlegroups.com
Object...

no caso, "o" é um array de Object com um elemento null.

o[0] == null

é isso?
Isso mesmo, Márcio. Parabéns.
:)
 

Lucas Silvino

unread,
Apr 28, 2011, 3:58:15 PM4/28/11
to pb...@googlegroups.com
kkkkkkkkkkk, ja vi tarde!!!!!!! Mas boa, manda outras ae!!!!!!!!!
 


 
Em 28 de abril de 2011 14:30, Bonifacio Segundo <bonifaci...@gmail.com> escreveu:

--
Você está recebendo esta mensagem porque se inscreveu no grupo "PBJug" dos Grupos do Google.
Para postar neste grupo, envie um e-mail para pb...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para pbjug+un...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/pbjug?hl=pt-BR.



--
Lucas Silvino da Silva
-----
Tecnólogo em Analista e Desenvolvimento de Sistemas
Programador Java SE, J2EE, ADVPL



Herval

unread,
Apr 28, 2011, 5:35:41 PM4/28/11
to PBJug
off-topic: comecei a codar uma "rede social nerd" pra jogar esse tipo
de puzzle (e tb puzzles nao-programacao) pra galera responder e ganhar
pontos: http://braintea.se/

nao ta 100% ainda, mas já da pra ter uma ideia...

[]s
Herval

On Apr 28, 2:30 pm, Bonifacio Segundo <bonifacio.segu...@gmail.com>
wrote:
> Gente,
>
> Recentemente vi um puzzle proposto pelo Joshua Bloch que vale a pena ser
> compartilhado. (Se você não sabe quem é, manda um e-mail pra cá que eu te
> digo: pbjug+un...@googlegroups.com).
>
> É o seguinte: Na classe abaixo, você tem que ajustar a assinatura do método
> *story* (e somente ela) para que o programa imprima a mensagem "O noes!".
>
> public class Story {
>    public static void main(String[] args) {
>        Object o = null;
>        story(o);
>    }
>
>    private static void story(*<you provide the declaration>* o) {
>        if (o != null)
>            System.out.println("O noes!");
>    }
>
> }
>
> Eu duvido muito que alguém consiga resolver sem saber explicar o porquê. Mas
> não custa lembrar que *é preciso dizer o que mudar e explicar como a solução
> funciona*, ok?
Reply all
Reply to author
Forward
0 new messages