Zagadka: hackujemy kalkulator
Dawno nie było zagadki! Dziś łamigłówka dla hackerów:)
Poniżej znajduje się klasa Calculator
implementująca metodę add
. Metoda działa poprawnie (o ile nie przekroczy się zakresu inta, ale to nie jest przedmiotem zagadki). Należy tak zhackować kalkulator, aby źle dodawał:)
Kod klasy musi pozostać bez zmian poza linią nr 10, w której należy „coś zrobić” – dopisać „coś” do komentarza, nie zmieniając i nie usuwając znaków komentarza (tj. //).
public class Calculator { private final int a; public Calculator(final int a) { this.a = a; } public int add(int b) { // tu hackuj:) return a + b; } public static void main(String[] args) { final Calculator calculator = new Calculator(5); System.out.println(calculator.add(5)); } }
Po uruchomieniu programu, zamiast 10 powinno pojawić się 100.
<barista@javaczyherbata.pl> java Calculator 100
Czy o to chodzi?
W sumie to komentarz „//” nie tknięty, a wynik jest równy 100
Mogę uznać, ale – nie napisałem tego explicite – chodziło o to, by dodać coś tylko w sekcji „tu hackuj”; czyli można coś wpisać dopiero za znakami komentarza. Próbuj dalej:)
Czy to o tego typu zhackowanie chodziło? ;))
http://ideone.com/feozp
Może tak, a może nie:) Pokaż kod, to rozstrzygnę:)
Myślałem, że to oczywiste :-))