Laboratorium 7
Java w konsoli
1. Napisz, skompiluj i uruchom program PierwszyProgram.java:
class PierwszyProgram {
public static void main(String[] args) {
System.out.println("Witaj!");
}
}
W klasie PierwszyProgram umieść kolejno deklaracje:
String s1 = "abc";
String s2 = "ab";
s2 += "c";
String s3=s2;
String s4 = new String("abc");
Korzystając z funkcji assert (http://docs.oracle.com/javase/1.4.2/docs/guide/lang/assert.html) napisz funkcję testową sprawdzającą czy:
a) s2==s3;
b) s1.equals(s2);
c) s1.equals(s3);
d) s2.compareTo(s3);
- W przypadku wystąpienia wyjątku AssertionError, powinno pojawić się okno dialogowe informujące o błędzie (http://docs.oracle.com/javase/tutorial/uiswing/components/dialog.html)
Uwaga: W niektórych przypadkach konieczne jest włączenie rozpoznawania asercji przez maszynę wirtualną Javy:
//Enable assertions
ClassLoader.getSystemClassLoader().setDefaultAssertionStatus(true);
3. Dany jest łańcuch znakowy:
String s1 = " Ala ma kota ";
Napisz program, który będzie posiadać:
a) metodę zamieniającą wszystkie znaki w zdaniu na duże (" ALA MA KOTA "),
b) metodę usuwającą niepotrzebne spacje na końcu i początku zdania,
c) metodę wypisującą powyższy ciąg od końca, tj. " atok am alA ".
Wskazówka: Użyj metody substring klasy String. Inny sposób - użyj klasy StringBuilder i metody reverse.
5. Wprowadź z klawiatury (Scanner) wartości typu double do macierzy o rozmiarze 3x2, a następnie utwórz metodę zwracającą inną macierz (tablicę), będącą transpozycją macierzy oryginalnej. To samo zadanie rozwiąż używając zamiast tablicy kolekcji ArrayList. (http://javastart.pl/klasy/interfejs-list/)
6. Napisz program realizujący poniższe zadania:
utwórz interfejs Bryla zawierającą bezargumentową metodę poleProstokata();
utwórz klasę Prostokat implementującą stworzony interfejs, przyjmującą w konstruktorze argumenty a i b oraz zawierającą definicję metody poleProstokata(), która wylicza pole prostokąta (Pp) według wzoru: a*b;
utwórz klasę Prostopadloscian, która dziedziczy po klasie Prostokat, przyjmującą w konstruktorze dodatkowy argument c.
Klasa ta niech zawiera metodę polePowierzchni(), która wylicza pole powierzchni prostopadłościanu według wzoru: 2(Pp + b*c + a*c).
Pamiętaj, aby do obliczenia tego wzoru wykorzystać metodę poleProstokata() klasy Prostokat;
utwórz klasę Starter zawierającą metodę main, w której znajdzie się kod:
int a = 2;
int b = 3;
int c = 4;
Prostopadloscian pr = new Prostopadloscian (a, b, c);
System.out.println(“Pole powierzchni protopadloscianu: ” + pr.polePowierzchni());
Literatura:
Java™ Platform, Standard Edition 6, API Specification: http://download.oracle.com/javase/6/docs/api/
Marcin Lis, Praktyczny kurs Java., Wydanie III, Helion, 2011
Cay S. Horstmann, Gary Cornell, Java. Podstawy. Wydanie VIII, Helion, 2008.