– Czołem, żołnierzu!
– Dzień dobry, Kapitanie.
– Mam dla Ciebie świetne wiadomości. Oto kilka ćwiczeń, które pomogą Ci utrwalić Twoje umiejętności. Pracuj nad nimi codziennie, a Twoje kompetencje będą bardzo szybko rosły. Zostały one zaprojektowane specjalnie dla IntelliJ IDEA.
16
Zadanie
Podstawy Java, poziom 5, lekcja 12
Różne metody dla różnych typów
1. Odczytuj dane z konsoli do momentu wprowadzenia słowa "exit".
2. Dla każdej wartości (za wyjątkiem "exit"), wywołaj metodę print. Jeśli wartość:
2.1. zawiera kropkę („.”), wówczas wywołaj metodę print dla Double;
2.2. jest większa od zera, ale mniejsza niż 128, wówczas wywołaj metodę print dla sh
4
Zadanie
Podstawy Java, poziom 5, lekcja 12
Trening mózgu
Znajdź błąd w logice: Duck powinna prawidłowo implementować interfejs CanMove.
Napraw błąd.
Wynik powinien być następujący:
Latanie
Poruszanie się
8
Zadanie
Podstawy Java, poziom 5, lekcja 12
OOP: przeciążanie metod
1. W klasie Tree, zastosuj dwukrotne przeciążanie metody info(Object s), aby uzyskać trzy metody: info(Object s), info(Number s) i info(String s).
1.1. Przeanalizuj metodę info(Object s). Stwórz podobną funkcjonalność w nowych metodach.
1.2. Na przykład wynikiem zastosowania metody info(Number s) mo
16
Zadanie
Podstawy Java, poziom 5, lekcja 12
Praca nad wzorcem projektowym singleton
1. Znajdź przykład wzorca singleton używanego w celu leniwej inicjalizacji. Użyj swojej ulubionej wyszukiwarki (np. Google).
2. Utwórz w osobnych plikach trzy klasy singleton na jego obraz i podobieństwo: Sun, Moon i Earth.
3. Zaimplementuj interfejs Planet w klasach Sun, Moon i Earth.
4. W bloku st
8
Zadanie
Podstawy Java, poziom 5, lekcja 12
Przeciążanie konstruktorów
1. W klasie Solution utwórz 4 konstruktory z różnymi modyfikatorami dostępu.
2. W osobnym pliku utwórz klasę SubSolution będącą obiektem podrzędnym klasy Solution.
3. W klasie SubSolution użyj komendy Alt+Insert -> Constructors, aby utworzyć konstruktory.
4. Popraw modyfikatory dostępu konstrukto
8
Zadanie
Podstawy Java, poziom 5, lekcja 12
Kolejność ładowania zmiennych
Sprawdź, co zostanie zainicjalizowane i w jakiej kolejności. Ustaw punkty wstrzymania (breakpointy) i użyj debuggera.
Popraw kolejność inicjalizacji danych, aby uzyskać następujący wynik:
static void init()
Blok statyczny
public static void main
Blok niestatyczny
static void printAllFields
0
null
Ko
8
Zadanie
Podstawy Java, poziom 5, lekcja 12
Plik w bloku statycznym
1. Zainicjalizuj zmienną Statics.FILE_NAME do pełnej ścieżki do pliku z danymi zawierającego kilka linii.
2. Następnie, w bloku statycznym, odczytaj wszystkie linie z pliku Statics.FILE_NAME i dodaj je oddzielnie do List lines.
8
Zadanie
Podstawy Java, poziom 5, lekcja 12
Debuguj, debuguj i jeszcze raz debuguj
Program wyświetla 0 9, a powinien wyświetlać 6 9. Znajdź (jeden!) błąd i popraw go.
Użyj debuggera. Ustaw punkty wstrzymania (breakpointy) (Ctrl+F8), a następnie przejdź do Run -> Debug.
F9 wykona kod do następnego punktu wstrzymania (breakpointu)
F8 przejdzie do następnej linii kodu
16
Zadanie
Podstawy Java, poziom 5, lekcja 12
Parser żądań
Odczytaj adres URL z konsoli.
Wyświetl listę wszystkich parametrów oddzielonych spacjami (Parametry są umieszczone za "?" i oddzielone "&", np. "lvl=15").
Adres URL zawiera przynajmniej 1 parametr.
Parametry muszą być wyświetlane w tej samej kolejności, w jakiej występują w adresie URL.
Jeśli wy
8
Zadanie
Podstawy Java, poziom 5, lekcja 12
OOP: euro to też pieniądze
Popraw klasę Euro tak, aby uniknąć błędu StackOverflowError.
– Te poprzednie ćwiczenia były dla nowicjuszy. Dodałem trochę dodatkowych, zaawansowanych ćwiczeń dla weteranów. Tylko dla weteranów.
8
Zadanie
Podstawy Java, poziom 5, lekcja 12
Praktyka z blokami statycznymi
1. Utwórz w osobnych plikach klasy Plane i Helicopter, które implementują interfejs CanFly.
2. Klasa Plane musi mieć konstruktor z parametrem int (liczba pasażerów na pokładzie).
3. W statycznej metodzie reset klasy Solution:
3.1. Wczytaj ciąg z konsoli.
3.2. Jeśli wartość to "helikopter", wówczas p
8
Zadanie
Podstawy Java, poziom 5, lekcja 12
Metoda szablonowa
1. Utwórz w osobnym pliku klasę DrinkMaker z trzema metodami abstrakcyjnymi:
- void getRightCup() - wybiera odpowiedni kubek
- void addIngredients() - dodaje składniki
- void pour() - wlewa płyn
2. W klasie DrinkMaker zadeklaruj i implementuj metodę void makeDrink(), która przygotowuje napój w na
8
Zadanie
Podstawy Java, poziom 5, lekcja 12
Silnia
Napisz metodę, która obliczy silnię, tj. iloczyn wszystkich liczb od 1 do wprowadzonej liczby włącznie.
Przykładowe obliczenia: 4! = factorial(4) = 1*2*3*4
Przykładowy wynik: 24
1. Wprowadź liczbę mniejszą lub równą 150 z konsoli.
2. Zaimplementuj metodę factorial.
3. Jeśli wprowadzona liczba jest