Od razu ruszamy z pierwszym Puzzle’em:)

  • Co pojawi się na ekranie po uruchomieniu poniższego kodu?
import java.util.Random;

public class Hamlet {

  public static void main(String[] args) {
    Random rnd = new Random();
    boolean toBe = rnd.nextBoolean();
    Number result = 
      (toBe || !toBe) ? new Integer(3) : new Float(1);
    System.out.println(result);
  }
}


Odpowiedzi:
(a) 3
(b) 1.0
(c) zostanie rzucony wyjątek
(d) żadne z powyższych

  • Odpowiedź uzasadnij i wyjaśnij dlaczego tak to działa
  • Jak poprawić powyższy kod, aby zachowywał się zgodnie z intuicją

Autorami zagadki są Joshua Bloch i William Pugh