1 PODSTAWY STATYSTYKI Laboratorium, lista nr 2. Zapoznanie ze

Transkrypt

1 PODSTAWY STATYSTYKI Laboratorium, lista nr 2. Zapoznanie ze
dr inż. Jacek Lewandowski
PODSTAWY STATYSTYKI
Laboratorium, lista nr 2.
Zapoznanie ze środowiskiem i wstęp do programowania w Java.
Zagadnienia:
W trakcie pierwszych zajęć studenci zapoznają się z podstawami języka JAVA oraz ze
środowiskiem Eclipse. Przewidziane jest m. in.
 wykorzystanie podstawowej składni języka JAVA do rozbudowy programu
 stworzenie prostego apletu graficznego i uruchomienie go w przeglądarce www
 poznanie zasad tworzenia nowych klas oraz późniejszego ich wykorzystywania np. jako
argumenty do funkcji (metod)
 korzystanie z oficjalnej dokumentacji online
(http://docs.oracle.com/javase/7/docs/api/index.html)
Zadanie 1.
Dla każdej osoby z poprzedniego zadania z listy 1 dodatkowo wypisz jej sugerowaną pensję, którą wylicz przy
pomocy klasy:
class LosoteriaWynagrodzenia {
public static final int MINIMALNE_WYNAGRODZENIE = 1000;
java.util.Random r = new java.util.Random();
int losujWynagrodzenie(String _imie) {
int wspolczynnik = _imie.length();
return MINIMALNE_WYNAGRODZENIE +
wspolczynnik*r.nextInt(MINIMALNE_WYNAGRODZENIE);
}
}
Zadanie 2.
Przygotuj program wypisujący aktualną datę oraz godzinę na konsoli. Odszukaj w tym celu w dokumentacji
odpowiednie klasy służące do reprezentacji dat i czasu.
Zadanie 3.
Napisać program, który pobiera od użytkownika liczbę całkowitą dodatnią, a następnie wyświetla na ekranie
kolejno wszystkie liczby nieparzyste nie większe od podanej liczby. Przykład, dla liczby 15 program powinien
wyświetlić 1, 3, 5, 7, 9, 11, 13, 15.
Zadanie 4.
1.
Utworzyć nowy project Java w środowisku Eclipse.
2.
Stoworzyć nową klasę dziedzicząca z klasy Applet
(W Eclipse File/New/Class -> wybrać nazwę klasy, kliknąć [Browse] obok pola Superclass i wpisać
Applet, nie zaznaczać opcji dodawania metody main -> Finish)
3.
Dodać do nowej klasy metodę paint(), o zawartości:
public void paint(Graphics g) {
g.drawString("Hello world!", 50, 25);
}
Bioinformatyka, sem. 2
1
dr inż. Jacek Lewandowski
4.
Klasa Graphics została podkreślona na czerwono - oznacza to, że Eclipse wykrył błąd w kodzie. Klikając na
czerwoną ikonkę na lewej krawędzi okna edycji kodu należy wybrać jedną z sugerowanych możliwości
usunięcia błędu.
5.
Uruchomić aplet.
6.
Korzystając z oficjalnej dokumentacji JAVA odnaleźć opis klasy Graphics.
Zmodyfikować metodę paint() tak, aby aplet wyświetlał co najmniej 6 różnych elementów graficznych.
Np. koło, kwadrat …
7.
Uruchomić aplet za pomocą przeglądarki www.
Wskazówka: po uruchomieniu apletu z poziomu Eclipse można skorzystać z menu Applet/Tag... , co
spowoduje wyświetlenie przykładowego kodu html
Przykładowy kod html dodający applet do strony:
<HTML>
<HEAD>
<TITLE> Przykladowy aplet </TITLE>
</HEAD>
<BODY>Tutaj jest wynik działania mojego apletu:
<APPLET CODE="HelloWorld.class" WIDTH=150 HEIGHT=25></APPLET>
</BODY>
</HTML>
Applet może być również uruchomiony z linii poleceń (warto zauważyć, że appletwiever wymaga
argumentu w postaci pliku html):
appletviewer nazwapliku.html
Zadanie 5.
1.
Korzystając z dokumentacji on-line odszukać metodę pozwalającą na zmianę koloru używanego do
rysowania. Wykorzystać ją do stworzenia wielokolorowego apletu.
2.
Znaleźć klasę pozwalającą na generowanie liczb losowych i wykorzystać ją do rysowania dowolnych
obiektów np. Kolo, Prostokąt, itd. o losowym położeniu oraz o losowym kolorze. (Patrz zadanie 6 i
losowanie wartości)
3.
Uruchomić aplet i zmienić rozmiar okna. Wytłumaczyć zaobserwowane zachowanie apletu.
Wskazówka:
Niektóre metody jako argumentów wymagają tylko liczb, inne zaś wymagają obiektów określonej klasy.
Przekazanie obiektu jako argumentu do metody (tj. przekazanie referencji do tego obiektu) można
wykonać na kilka sposobów.
1. Jedną z możliwości jest stworzenie nowego obiektu danej klasy i przekazanie do metody zmiennej
wskazującej na ten obiekt:
NazwaKlasy zmienna; //deklaracja zmiennej
zmienna = new NazwaKlasy(argumenty_konstruktora); //tworzenie nowego
obiektu przypisanego do zmiennej.
Bioinformatyka, sem. 2
2
dr inż. Jacek Lewandowski
Przykład: (tworzenie obiektu klasy Rectangle)
Rectangle prostokat;
prostakat = new Rectangle(10,10,100,200);
Powyższy kod można uprościć, umieszczając deklarację zmiennej i tworzenie obiektu w jednej linii kodu:
NazwaKlasy zmienna = new NazwaKlasy(argumenty_konstruktora);
Przykład:
Rectangle prostokat = new Rectangle(10,10,100,200);
2. Jeśli obiekt jest potrzebny tylko po to, aby przekazać go do jakiejś metody, nie musimy tworzyć do
niego referencji. W takich sytuacjach możliwe jest tworzenie nowego obiektu w trakcie wywoływania
metody:
nazwaMetody( new NazwaKlasy(argumenty_konstruktora) );
ZAPAMIĘTAJ!!!
Obiekty w Javie zawsze tworzone są przy pomocy operatora new po którym następuje konstruktor (czyli nazwa
klasy, której obiekt jest tworzony oraz lista argumentów w nawiasach).
Operator new rezerwuje pamięć dla nowego obiektu oraz wywołuje odpowiedni konstruktor (klasa może mieć
więcej niż jeden konstruktor, o tym który zostanie wywołany decyduję zgodność listy argumentów).
Operator new zwraca referencję do nowo utworzonego obiektu.
Bioinformatyka, sem. 2
3