Вот и всё. Прочитал. За полтора года ;)
Странные ощущения остались. Большинство головоломок отлавливаются на этапе набора кода практически любой IDE. А остальные, я думаю, маловероятны после прочтения Effective Java. Зато Java Puzzlers удобно использовать на собеседованиях...
Ждём продолжение. Говорят, Блох над ним работает.
вторник, 3 июня 2008 г.
Java Puzzle 95: Just Desserts
В этой головоломке показаны задачи, которые часто приходится решать нам, разработчикам языка Java. Что напечатают приведённые ниже программы?
Эта головоломка по мотивам бага 4157460 напечатает "1".
Эта головоломка по мотивам бага 4763901 напечатает "[3, 1, 4, 1, 5, 9]". Хотя, технически, результат неопределён, так как зависит от реализации в конкретной JVM.
Эта головоломка напечатает "false". При синтаксическом разборе кода компилятор не учитывает пробелы - они никак не влияют на последовательность операторов. Скобки спасут отца русской демократии ;)
Урок этой головоломки, да и всей книги в целом: не кодируй как мой младший брат (Don't code like my brother).
public class ApplePie {
public static void main(String[] args) {
int count = 0;
for (int i = 0; i < 100; i++); {
count++;
}
System.out.println(count);
}
}
Эта головоломка по мотивам бага 4157460 напечатает "1".
import java.util.*;
public class BananaBread {
public static void main(String[] args) {
Integer[] array = {3, 1, 4, 1, 5, 9};
Arrays.sort(array, new Comparator() {
public int compare(Integer i1, Integer i2) {
return i1 < i2 ? -1 : (i2 > i1 ? 1 : 0);
}
});
System.out.println(Arrays.toString(array));
}
}
Эта головоломка по мотивам бага 4763901 напечатает "[3, 1, 4, 1, 5, 9]". Хотя, технически, результат неопределён, так как зависит от реализации в конкретной JVM.
public class ChocolateCake {
public static void main(String[] args) {
System.out.println(true?false:true == true?false:true);
}
}
Эта головоломка напечатает "false". При синтаксическом разборе кода компилятор не учитывает пробелы - они никак не влияют на последовательность операторов. Скобки спасут отца русской демократии ;)
Урок этой головоломки, да и всей книги в целом: не кодируй как мой младший брат (Don't code like my brother).
Властелины времени
А вы помните этот мульт? У нас в офисе только один из десяти помнит его. В дедстве смотрел в кинотеатре. Очень тащился...
Тут можно посмотреть финал:
μTorrent уже раскочегарен ;)
Метровая карта
Сегодня с утра случайно сломал магнитную карту напополам. Принёс в кассу с надеждой на восстановление. Там мне выдали новую, прописав в ней данные со сломанной карты. Причём данные они читали не с карты, а прямо в компе, забив туда номер карты. Выглядит так, что метровый проездной содержит только id, а всё вычисление дат и остатка - централизованное.
В Москве тоже сейчас такое вводят. До этого были бумажные карты с магнитной полосой, на которой хранилась и печаталась информация по поездкам.
Интересно, хранится ли история о путешествиях по карте? Ведь я её каждый раз продлеваю, следовательно, легко можно составить отчёт, типа, где и когда был...
В Москве тоже сейчас такое вводят. До этого были бумажные карты с магнитной полосой, на которой хранилась и печаталась информация по поездкам.
Интересно, хранится ли история о путешествиях по карте? Ведь я её каждый раз продлеваю, следовательно, легко можно составить отчёт, типа, где и когда был...
Подписаться на:
Сообщения (Atom)