Ćwiczenia
- Karty CRC (Class-Responsibility-Collaboration) dla systemu rezerwacji np. w zakładzie fryzjerskim.
- Karty CRC opisujące działanie bankomatu. Scenariusze:
- Klient wypłaca z bankomatu gotówkę za pomocą karty bankomatowej i drukuje papierowe potwierdzenie transakcji. (Należy pamiętać o różnych możliwościach, np. brak pieniędzy na koncie klienta, kilkakrotnie podany błędny numer PIN, itp.)
- Klient sprawdza w bankomacie saldo swojego konta.
- (Opcjonalnie: wpłatomat) Klient wpłaca gotówkę za pomocą karty bankomatowej.
- (Opcjonalnie) Obsługa panelu administracyjnego bankomatu.
Laboratorium
- Umieścić program HelloWorld w pakiecie. Skompilować i uruchomić program z linii poleceń.
- Zapoznać się ze środowiskiem Eclipse. Skompilować i uruchomić w Eclipse program HelloWorld.
- W Eclipse podpiąć źródła Javy.
- Probably a Fire Hazard (dzień 6 ze strony Advent of Code).
Po zalogowaniu na stronie Advent of Code można pobrać przykładowe dane, na których można przetestować program. Po zrobieniu części 1 dostaje się dostęp do drugiej części zadania.
Podpowiedzi:
- Czytanie ze standardowego wejścia:
import java.util.Scanner;
...
Scanner s = new Scanner(System.in);
while (s.hasNextLine()) {
s.nextLine();
}
s.close();
- Czytanie z pliku
Scanner s = new Scanner(new File("sciezka_do_pliku"));
- Czytanie z pliku ze Scannera powoduje błąd kompilacji. Kompilator oczekuje, że obsłużymy wyjątki, które może rzucić Scanner. Na razie można dodać w metodzie main deklarację:
public static void main(String[] args) throws Exception { ... }
W dalszej części semestru nauczymy się, w jaki sposób właściwie obsługiwać wyjątki.
- Klasa String ma metodę replace, która zastępuje podany ciąg znaków innym:
"Ala".replace("A","O");
zamieni Alę w Olę.
- Klasa String ma metodę split, która dzieli podany napis w miejscach wystąpienia innego napisu:
"Ala ma kota".split(" ");
da w wyniku tablicę:
{"Ala","ma", "kota"}
- Parsowanie napisu do liczby całkowitej:
Integer.parseInt("123");
Praca domowa nr 3
Rozwiązanie zadania Probably a Fire Hazard ze strony Advent of Code (do wyboru: część 1 lub część 2).