zadania pierwszego

Transkrypt

zadania pierwszego
Komunikacja Człowiek-Komputer – ZADANIE 1
Niniejsza instrukcja podzielona jest na dwie części. W pierwszej części zostały przedstawione
dwiczenia wstępne o charakterze dydaktycznym do samodzielnego wykonania na laboratorium.
W drugiej części instrukcji została podana treśd zadania (napisanie programu), rozwiązanie którego
będzie podlegad ocenie. Na ocenę ma również wpływ znajomośd zagadnieo przedstawionych
w dwiczeniach wstępnych.
1) Ćwiczenia wstępne
Podstawy, środowisko JDK, kompilacja programów z linii poleceń
1. Zainstaluj środowisko JDK Standard Edition w najnowszej wesji ze strony SUN (jeśli nie ma)
2. Zainstaluj Eclipse IDE z www.eclipse.org (jeśli nie ma) (ewentualnie NetBeans)
3. Zapoznaj się z zawartością katalogu C:\Program Files\Java
4. Skonfiguruj zmienne środowiskowe PATH i CLASSPATH
5. Przy pomocy notatnika i poleceo "javac" i "java" napisz, skompiluj i uruchom następujący prosty
program HelloWorld.java :
class HelloWorld
{
public static void main(String args[])
{
System.out.println("Witaj!");
}
}
6. Skompiluj i uruchom program (javac HelloWorld.java, java HelloWorld). Odpowiedz na pytania:
- jaki plik powstaje po kompilacji?
- co się stanie jeśli zmienimy nazwę pliku żródłowego i spróbujemy skompilowad, ale jeśli klasa byłaby
typu "public"?
- co się stanie jeśli zmienimy nazwę pliku .class i spróbujemy uruchomid?
7. Dla powyższego projektu przygotuj archiwum JAR.
Aplikacje w środowisku graficznym w Javie
1. Za pomocą Netbeans lub Eclipse utwórz projekt z prostą aplikację okienkową (np. okienko + jeden
przycisk) na 2 sposoby: użyj AWT i Swing
2. W podobny sposób wykonaj prosty aplet. Uruchom go w appletviever lub w przeglądarce.
3. Dla wersji aplikacji okienkowej używającej dwóch klas stwórz pakiet. Jak uruchamiamy klasę
w pakiecie?
Podstawy 2
1. Przedwicz tworzenie projektu w Eclipse lub Netbeans. Możesz wykorzystad klasę z dwiczenia
poprzedniego. Zapoznaj się z menu kontekstowym dla "package explorera" oraz menu "Source"
Przedwicz:
- tworzenie nowego projektu
- tworzenie i uruchamianie archiwum JAR
- automatyczne tworzenie klas, funkcji, instrukcji importu, komentarzy
- tworzenie i uruchamianie apletów.
3. Co to jest refaktoring?
4. Zapoznaj się z pomocą w menu Help (w Eclipse) i znajdź informacje o:
- Key assist
- Tips and tricks (przedwicz chociaż kilka z nich)
- cheat sheets
Operacje na łańcuchach tekstowych
1. Utwórz aplikację konsolową (prosta klasa z funkcją main, można posłużyd się klasą HelloWorld
z początku instrukcji), w której będziesz testowad zachowanie obiektów klasy String.
W programie umieśd deklaracje:
String s1 = "abc";
String s2 = "ab";
s2 += "c";
String s3=s2;
Sring s4 = new String("abc");
Napisz instrukcje sprawdzające, czy:
a) s1=="abc"
b) s1==s4;
c) s1==s2;
d) s2=="abc";
d) s2==s3;
e) s1.equals(s2);
f) s1.equals(s3);
g) s2.compareTo(s3);
Odnotuj wyniki i spróbuj je uzasadnid.
Zamien nastepnie linijki:
s2 += "c";
String s3=s2;
na:
String s3=s2;
s2 += "c";
Czy teraz z s2==s3 ? Wyciagnij stosowne wnioski.
Poszukaj w Internecie informacji n.t. sposobu alokacji stringów w javie, co wyjaśni niuanse pomiędzy
"==", "compareTo" oraz "equals".
Poszukaj w Internecie informacji, co oznacza stwierdzenie, że string jest obiektem niemutowalnym.
Wprowadź następujące definicje:
String s1 = "Jan wypil ";
int count1 = 2, count2 = 1;
String s2 = " piw.";
Następnie rozważ wykonanie następujących operacji:
String s3 = s1 + count1 + s2;
String s4 = s1 + (count1 + count2) + s2;
String s5 = s1 + count1 + count2 + s2;
String s6 = count1 + count2 + s2;
String s7 = count1 + count2;
Co zawierają łaocuchy s3, s4, s5, s6 i s7 ?
Najpierw zgadnij a następie napisz przykład sprawdzający.
Kiedy operator "+" oznacza operację dodawania a kiedy konkatenacji?
Utwórz obiekt s1:
String s1 = " Ala ma kota
";
Za pomocą stosownych metod klasy string wykonaj następujące operacje:
- zamiana wszystkich znaków w zdaniu na duże:
" ALA MA KOTA "
- usunięcie niepotrzebnych spacji na koocu i początku zdania:
"Ala ma kota"
- wypisanie ciągu od kooca:
" atok am alA "
(Użyj metody substring klasy String lub klasy StringBuilder i metody reverse.)
Zapoznaj się z metodami dostępnymi w Javie, obsługującymi:
- czytanie z klawiatury
- konwersję łaocucha tekstowego na liczbę
- odczyt i zapis pliku tekstowego
- parsowanie i analizę łaocucha tekstowego
- dostęp do argumentów wywołania programu
2) Zadanie
Program sumujący liczby
Napisz aplikację konsolową, która sumuje liczby. Po urchomieniu oczekujemy na wpisanie liczby
całkowitej lub zmiennoprzecinkowej (może byd ze znakiem).
Po wprowadzeniu tekstu program dodaje liczbę do bieżącej sumy i wyświetla wynik.
Obsługa błędów/wyjatków.
Jeśli wprowadzimy słowo „koniec” zamiast liczby, program kooczy działanie.
Jeśli wprowadzimy ciąg, który nie jest liczbą ani słowem „koniec”, program to sygnalizuje i powtórnie
prosi o podanie liczby.
Program sumujący liczby – obsługa argumentów wywołania
Napisz zmodyfikowaną wersję aplikacji, którą można będzie wywoład z parametrami np.:
java lab03 1+2+4
Program powinien wypisad sumę (jesli się da obliczyd) - w tym wypadku 7.
Program powinien obsłużyd dowolną liczbę składników w sumie.
Program napisz tak, aby oblsugiwał następujące formaty parametrów:
java lab03 1+2+4
java lab03 1 + 2 + 4
java lab03 1+ 2 +4.
Program powinien sygnalizowad błąd w wypadkach:
java lab03 1+2++4
java lab03 1+2+ +4
java lab03 1+2 4
wyswietlajac ostatnia poprawna sume, w powyzszych przykladach 3.
Program sumujący liczby – obsługa plików
Zmodyfikuj aplikację tak, aby można ją było wywoład z nazwą pliku jako parametrem. W pliku każda
linijka to jedno działanie.
Niech plik "test.txt" zawiera dane:
1+2+4
3+ 5 +6
4++2
3+1+1
Wywołanie:
java lab03 test.txt
powinno utworzyd plik tekstowy "test-wynik.txt" zawierający linie:
7
14
blad
5