2_zadania_dodatkowe.pdf

(140 KB) Pobierz
Microsoft Word - 2_zadania_dodatkowe.doc
WSNHiD, Programowanie 2
Zadania dodatkowe (dla chętnych)
Język Java – struktura programu, dziedziczenie,
abstrakcja, polimorfizm, interfejsy
Ćwiczenie 1:
Proszę napisać klasę Money ( pieniądze ), która będzie reprezentowała pewną ilość pieniędzy. Klasa
powinna zawierać metodę zwracającą ilość. Dane te powinny być inicjalizowane w konstruktorze
podczas tworzenia obiektu. Klasa powinna implementować następujący interfejs:
public interface IMoney {
double getAmount();
}
Ćwiczenie 2:
Proszę przysłonić metodę equals() w klasie Money, tak, aby poprawnie porównywała dwa obiekty klasy
Money bazując jedynie na ilości pieniędzy (wartości pola amount). Przykład:
System.out.println(new Money(5).equals(new Money(5)));
System.out.println(new Money(5).equals(new Money(6)));
Wynik działania programu:
true
false
Ćwiczenie 3:
Proszę utworzyć dwie klasy potomne klasy Money (dziedziczące po Money): Dollar (dolar) oraz Franc
(frank). Proszę zmodyfikować metodę equals() klasy Money tak, aby dla dwóch obiektów
reprezentujących tę samą wartość, ale w innej walucie zwracała ona wartość false. Przykład:
System.out.println(new Dollar(5).equals(new Franc(5)));
Wynik działania programu:
false
Ćwiczenie 4:
Proszę dodać metodę add() do klasy Dollar oraz klasy Franc. Metoda ta powinna dodawać pieniądze tej
samej waluty do siebie. Np.
Dollar dollar = new Dollar(5);
System.out.println(dollar.getAmount());
dollar.add(new Dollar(6));
System.out.println(dollar.getAmount());
Wynik działania programu:
5.0
11.0
Programowanie 2, Java – struktura programu...., © 2007 Bartosz Bogacki
1
Ćwiczenie 5:
Proszę utworzyć klasę Exchange ( wymiana ) zawierającą przeliczniki walut. Klasa ta powinna zawierać
dwie metody: dollarToFrancRatio() oraz francToDollarRatio(). Metody te powinny zwracać przelicznik
dla walut. Np.:
Exchange exchange = new Exchange(0.5, 2);
System.out.println(exchange.dollarToFrancRatio());
System.out.println(exchange.francToDollarRatio());
Wynik działania programu:
0.5
2.0
Ćwiczenie 6:
Proszę dodać do klasy Exchange metody dollarToFranc() oraz francToDollars(). Metoda
dollarToFranc() powinna przeliczać dolary na franki zgodnie z ustalonym przelicznikiem. Metoda
francToDollar() powinna przeliczać franki na dolary. Np.
Dollar dollar1 = new Dollar(3);
Exchange exchange = new Exchange(0.5, 2);
Franc franc = exchange.dollarToFranc(dollar1);
System.out.println(franc.getAmount());
Dollar dollar2 = exchange.francToDollar(franc);
System.out.println(dollar2.getAmount());
Wynik działania programu:
6.0
3.0
Ćwiczenie 7:
Proszę zmodyfikować metody add() w klasie Dollar i Franc tak, aby podczas dodawania automatycznie
dokonywały przewalutowania. Przykład:
Dollar dollar = new Dollar(3);
Franc franc = new Franc(2);
dollar.add(franc);
System.out.println(dollar);
Wynik działania programu:
7.0
--- Koniec ---
Programowanie 2, Java – struktura programu...., © 2007 Bartosz Bogacki
2
Zgłoś jeśli naruszono regulamin