Интересные задачки по Java
Январь 12th, 2008 | by admin |Вопрос 1
Завершите декларирование переменных x в выделенной жирным строке так чтобы следующая строка вывела “false”.
public class Reflexive {
public static void main(String[] args) throws Exception {
<typeX> x = <valueX>;
System.out.println(x == x);
}
}
Вопрос 2
Класс приведенный ниже печатает “1” когда выполняется. Пожалуста модифицируйте исходный код этого класса так чтобы его метод toString() возвращал значение отличающееся от “1” которое тоже печатается на консоль.
Вы не можете модифицировать код выделенный жирным шрифтом. В частности, toString() метод не должен быть модифицирован. Вы можете добавлять/изменять/удалять другой код. Вы не може импортировать другие классы, использовать reflection, serialization, native код или bytecode модификаторы. Действ
ительно для 1.4.2 JVM, Sun реализации.
public final class MyClass {
private static final Integer finalField = new Integer(1);
private MyClass() {
System.out.println(toString());
}
public String toString() {
return MyClass.finalField + "";
}
public static void main(String[] args) {
new MyClass();
}
}
Вопрос 3
Что-то неправильно в приведенном коде? Если да, то как исправить?
public final class Name {
private String first, last;
/**
* @return the first
*/
public String getFirst() {
return this.first;
}
/**
* @param first
* the first to set
*/
public void setFirst(String first) {
this.first = first;
}
/**
* @return the last
*/
public String getLast() {
return this.last;
}
/**
* @param last
* the last to set
*/
public void setLast(String last) {
this.last = last;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
final Name other = (Name) obj;
if (this.first == null) {
if (other.first != null)
return false;
}
else if (!this.first.equals(other.first))
return false;
if (this.last == null) {
if (other.last != null)
return false;
}
else if (!this.last.equals(other.last))
return false;
return true;
}
/*
* (non-Javadoc)
*
* @see java.lang.Object#toString()
*/
public String toString() {
return "Name is: " + first + " " + last;
}
}
Вопрос 4
Измените класс Quirk так, чтобы, не изменяя (а также, не удаляя и не добавляя) ни одного символа в коде метода main, на консоль выводилось бы другое сообщение, вместо "Magic Java.":
public class Quirk {
public static void main(String[] args) {
System.out.println("Magic Java.");
}
}
One Response to “Интересные задачки по Java”
By tracker on Фев 7, 2008 | Reply
Еще ссылочка http://www.javalobby.org/av/javapolis/prezo-fullscreen.jsp?id=25
очень рекомендую!