Archiwum

Archiwum dla Marzec, 2011

Addition

24 marca, 2011 1 komentarz
  • Co pojawi się na ekranie po skompilowaniu i uruchomieniu poniższego kodu?
class Addition {
	private static Byte b = 0;
	public static void main(String... args) {
		b = 10;
		b += 10;
		System.out.println(b);
	}
}

Czytaj więcej…

Kategorie:Java Puzzle Tagi:,

Wrappers and Boxing

16 marca, 2011 1 komentarz

Kolejna zagadka, tym razem wzorowana na egzaminie SCJP.

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

public class WrappersAndBoxing {

	private static String out = "";

	public static void main(String[] args) {

		int x = 4;
		Boolean y = true;
		short[] sa = {1, 2, 3};
		String s = "";
		
		go(x, y);
		go((int) sa[2]);
		go(sa[2]);
		go(Arrays.asList(sa), s);
		go(new ArrayList<Integer>(1));
		go(1L / 0.0);
		go(x);
		go(sa, sa);
		go(sa);
		
		System.out.println(out);
	}

	static void go(Short[] ints1, short[] ints2) {
		out += "1";
	}
	
	static void go(Object o) {
		out += "2";
	}

	static void go(Integer... i) {
		out += "3";
	}
	
	static void go(Long l) {
		out += "4";
	}
	
	static void go(Object[] os, Object... o) {
		out += "5";
	}
	
	static void go(Short h) {
		out += "6";
	}
	
	static void go(Object... o) {
		out += "7";
	}
	
	static void go(List<Number> l) {
		out += "8";
	}
}

Czytaj więcej…

Ground Round

15 marca, 2011 1 komentarz

Dziś zagadka „matematyczna” 🙂

  • Jak często poniższy kod wypisze Ground Round?
import java.util.*;
public class UrlSet {

  public static void main(String[] args) {
      Random rnd = new Random();
      int i = rnd.nextInt();
      if (Math.round(i) != i) {
        System.out.println("Ground Round");
      }
  }
} 

Czytaj więcej…

Kategorie:Java Puzzle Tagi:, , , ,

Racy Little Number

11 marca, 2011 1 komentarz

Na dziś przygotowałem zagadkę skierowaną przede wszystkim dla tych, którzy piszą testy do swojego kodu. Praktykujesz TDD, BDD lub używasz innej techniki – na pewno poradzisz sobie z zagadką.

  • Jak często poniższy test się powiedzie?
import junit.framework.TestCase;

public class Test extends TestCase {

  int number;

  public void test() throws InterruptedException {
    number = 0;
    Thread t = new Thread(new Runnable() {
      public void run() {
        assertEquals(2, number);
      }
    });

    number = 1;
    t.start();
    number++;
    t.join();
  }
}

Czytaj więcej…

Elvis Lives Again

5 marca, 2011 Brak komentarzy

Elvis Presley, legenda rock and rolla. Są tacy, którzy nie przyjmują do wiadomości informacji o jego śmierci; wierzą, że „król” nie umarł i w prywatności wiedzie spokojne życie. A jak to jest naprawdę…

  • Co pojawi się na ekranie po uruchomieniu poniższego kodu?
public class Elvis {
  // Singleton pattern: there's only one Elvis
  public static final Elvis ELVIS = new Elvis();
  private Elvis() { }
  
  private static final Boolean LIVING = true;
  
  private final Boolean alive = LIVING;
  
  public final Boolean lives() { 
  	return alive; 
  }
  
  public static void main(String[] args) {
  	System.out.println(ELVIS.lives() ?
  	  "Hound Dog" : "Heartbreak Hotel");
  }
}

Czytaj więcej…