• Nie Znaleziono Wyników

I. Standardowe wejście/wyjście: czytanie tekstu z klawiatury i wyświetlanie w oknie Output

N/A
N/A
Protected

Academic year: 2021

Share "I. Standardowe wejście/wyjście: czytanie tekstu z klawiatury i wyświetlanie w oknie Output "

Copied!
3
0
0

Pełen tekst

(1)

Laboratorium z informatyki sem. II/ćw. 2 Wydział Transportu PW - 2020/21

Materiały do użytku wewnętrznego strona 1

I

NSTRUKCJA DO

Ć

WICZENIA 2

I. Standardowe wejście/wyjście: czytanie tekstu z klawiatury i wyświetlanie w oknie Output

1. W środowisku NetBeans utwórz nowy projekt za pomocą polecenia menu File|New Project. W oknie dialogowym New Project wybierz w panelu Categories: Java a w panelu Projects: Java Application. W oknie New Java Application nadaj projektowi nazwę Projekt21 a klasie głównej nazwę WeWy. Jako miejsce docelowe projektu wybierz folder roboczy Z:\

2. Na początku metody main() utwórz pole reprezentujące czytnik buforowany, który będzie wczytywał z klawiatury ,pojedyncze wiersze tekstu:

BufferedReader we = new BufferedReader(new InputStreamReader(System.in));

3. Poleceniem Fix Imports z menu podręcznego zaimportuj klasy BufferedReader oraz InputStreamReader z pakietu

java.io zasobów bibliotecznych Javy. Klauzule importu pojawią się w początkowej części programu.

4. W celu wczytania z klawiatury wartości kolejnych danych, zastosujemy metodę readLine() obiektu we. Przed czytaniem kolejnej danej wyświetlimy podpowiedź dla użytkownika. Poniżej deklaracji czytnika dopisz instrukcje:

System.out.print("podaj imię i nazwisko :");

String student = we.readLine() ;

Metoda readLine() jako operacja wejścia/wyjścia może generować błędy wykonania (wyjątki) klasy IOException, dlatego pojawia się błąd kompilacji: “unreported exception java.io.IOException; must be caught or declared to be thrown”. Kliknij w przycisk błędu i wybierz opcję „Add throws clause for java.io.IOException” Spowoduje to dopisanie w nagłówku metody main() frazy throws IOException i przekazanie obsługi tego błędu do systemu.

5. Uruchomprogram, a następnie

k

liknięciem przenieś kursor do okna

Output

i wpisz swoje dane, kończąc je klawiszem ENTER.

6. Jako kolejne dane wprowadź numer albumu i średnią ocenę; będą to wartości dwóch zmiennych liczbowych – całkowitej i rzeczywistej.

int nrAlbumu = Integer.parseInt(we.readLine());

float ocena = Float.parseFloat(we.readLine());

7. Przed każdą z instrukcji czytania danej dopisz samodzielnie instrukcję wyświetlającą podpowiedź dla użytkownika.

8. Dopisz instrukcję wyświetlania wprowadzonych danych. Uruchomprogram. Zaobserwuj efekt niepoprawnego wpisania numeru albumu lub oceny (np. litera zamiast cyfry, przecinek zamiast kropki).

9. Aby obsłużyć wyjątek generowany przez błędne wpisanie danych, otocz instrukcją try-catch użyte w punkcie I.6 instrukcje związane z konwersją tekstu na liczby przypisane zmiennym nrAlbumu i ocena.:W części catch

rozpoznaj wyjątek klasy NumberFormatException i dodaj instrukcję, która wyświetli komunikat "niepoprawny format liczby". Sprawdź obsługę tego wyjątku.

II. Instrukcje przypisania i typy danych. Konwersja danych. Operacje arytmetyczne. Wykorzystanie funkcji matematycznych

1. W kolejnym przykładzie zaprogramujemy obliczenia dla liczb wczytywanych z klawiatury. Wykonamy je w nowym projekcie, utworzonym jako kopia projektu Projekt21. W tym celu w oknie Projects kliknij prawym przyciskiem myszy na nazwę Projekt21 i z menu podręcznego wybierz polecenie Copy. W oknie dialogowym podaj nazwę nowego projektu Projekt22. Rozwiń foldery nowego projektu i zmień nazwę klasy głównej na Obliczenia, klikając na nazwie klasy WeWy prawym przyciskiem myszy i wybierając kolejno polecenia Refactor | Rename. Dwuklikiem na nazwie klasy Obliczenia otwórz ją w edytorze NetBeans i zmodyfikuj treść.

2. Usuń instrukcję czytania nazwiska i zmień instrukcję wyświetlającą te dane na następującą (wpisz swoje dane):

System.out.println("Autor programu: xxxx yyyyyyyy");

3. Zmień instrukcje czytania numeru albumu i oceny na czytanie dwóch liczb całkowitych (typu int), odpowiednio zmodyfikuj podpowiedzi przed czytaniem każdej z danych:

int a = Integer.parseInt(we.readLine());

int b = Integer.parseInt (we.readLine());

4. W kolejnych wierszach wyświetl sumę, różnicę , iloczyn i iloraz liczb a i b:

System.out.println("operacje arytmetyczne na liczbach " +a+ "i " +b);

System.out.println("suma ="+ (a+b));

System.out.println("różnica ="+ (a-b));

System.out.println("iloczyn ="+a*b);

System.out.println("iloraz ="+a/b);

(2)

Laboratorium z informatyki sem. II/ćw. 2 Wydział Transportu PW - 2020/21

Materiały do użytku wewnętrznego strona 2

5. W przypadku dzielenia dwóch liczb całkowitych należy przewidzieć sytuację dzielenia przez zero, która powoduje powstanie wyjątku klasy ArithmeticException. Aby go obsłużyć, dopisz po istniejącej frazie catch kolejną frazę

catch postaci:

catch(ArithmeticException e) {System.out.println("Błąd obliczeń !");}

6. Uruchom program i sprawdź jego działanie

7. Następnie zmień typ zmiennych a i b na typ rzeczywisy (double), zastępując instrukcje z punktu 3 następująco:

double a = Double.parseDouble(we.readLine());

double b = Double.parseDouble(we.readLine());

8. Uruchom program i sprawdź różnice w jego działaniu.

9. Wewnątrz bloku try ... catch dopisz kolejne instrukcje, ilustrujące wykorzystanie wbudowanych funkcji matematycznych :

System.out.println("pierwiastek z liczby a = "+Math.sqrt(a));

System.out.println("3-cia potęga liczby b = "+Math.pow(b,3));

System.out.println("sinus liczby b = "+Math.sin(b));

System.out.println("Zaokrąglenie liczby 3.234 = "+Math.round(3.234));

System.out.println("Zaokrąglenie liczby 3.654 = "+Math.round(3.654));

10. Następnie samodzielnie oblicz i wyświetl odległość punktu o współrzędnych (a, b) od punktu (-1, 1). Sprawdź działanie programu.

III. Iteracyjne obliczanie sumy; wpisywanie, sumowanie i wyświetlanie argumentów programu

1. Utwórz kolejny nowy projekt typu Java Application, nadaj projektowi nazwę Projekt23 a klasie głównej - nazwę Sumowanie. Jako miejsce docelowe projektu wybierz folder roboczy Z:\

2. W treści metody main() zadeklaruj zmienną suma typu całkowitego i nadaj jej wartość początkową 0 instrukcją:

int suma = 0;

3. Następnie zastosuj instrukcję iteracyjną for, aby obliczyć sumę liczb naturalnych z przedziału 1, 10:

for (int i = 1; i <=10; i++) { suma +=i;

}

W kolejnych krokach iteracji wartość zmiennej i sterującej pętlą będzie się zmieniać od 1 (deklaracja int i = 1;) do 10 (waruneki i <= 10;) z krokiem 1 (operacja inkrementacji i++).

4. Dopisz instrukcję wyświetlającą obliczoną sumę, z komentarzem ”Suma liczb od 1 do 10 wynosi ”. Uruchom program i sprawdź wyświetlony wynik sumowania.

5. Następnym zadaniem programu będzie wyświetlenie argumentów programu i obliczenie sumy argumentów, będących liczbami całkowitymi. Wzorując się na punkcie V.4 instrukcji z ćwiczenia1 wprowadź argumenty programu, wpisując kilka liczb całkowitych oddzielonych spacjami w wierszu Arguments (polecenia Properties|Run).

6. Dopisz instrukcję wyświetlającą liczbę wprowadzonych argumentow programu w postaci tekstu:

"Program ma "+ args.length +" argumentów" (właściwość args.length określa liczbę argumentów) 7. Następnie wyświetl wartości tych argumentów w pętli for:

for (int k = 0; k<args.length; k++) {

System.out.println((k+1) + ": " + args[k]);}

Uwaga: Wyrażenie (k+1) oznaczające kolejny numer parametru musi być zawarte w nawiasie, gdyż inaczej znak, „+” będzie potraktowany jako znak łączenia (konkatenacji) tekstów reprezentujących oba składniki sumy – możesz to sprawdzić.

8. Popraw ewentualne błędy i uruchom program.

9. Dopisz kolejną instrukcję for, aby iteracyjnie obliczyć sumę wszystkich argumentów programu, będących liczbami całkowitymi:

for (int i = 0; i <args.length; i++) { // i zmienia się w zakresie indeksów tablicy args m = Integer.parseInt(args[i]); // wartość i-tego argumentu przypisana zmiennej m suma +=m; // dodanie kolejnego argumentu do sumy

}

Pamiętaj o uprzednim wyzerowaniu zmiennej suma i zadeklarowaniu zmiennej m

.

Uwaga: Właściwość args.length określa długość tablicy args, czyli aktualną liczbę zawartych w niej argumentów.

10. Następnie dopisz instrukcję wyświetlającą obliczoną sumę argumentów z odpowiednim komentarzem.

11. Kliknij prawym przyciskiem myszy w oknie edytora kodu i z menu podręcznego wybierz polecenie Format (lub zastosuj skrót klawiaturowy <Alt+Shift+F>), aby wyrównać wpisane instrukcje. Popraw ewentualne błędy i uruchom program.

IV.Zabezpieczenie programu przed błędnym formatem argumentów

1. W oknie Project Properties zmień jeden z argumentów wywołania programu, wpisując literę zamiast liczby. Uruchom program; wystąpi wyjątek spowodowany błędnym formatem liczby.

(3)

Laboratorium z informatyki sem. II/ćw. 2 Wydział Transportu PW - 2020/21

Materiały do użytku wewnętrznego strona 3

2. Aby obsłużyć ten wyjątek, otocz instrukcją try-catch użyte w punkcie III.9 instrukcje związane z konwersją tekstu na liczbę całkowitą przypisaną zmiennej m:

try{

m = Integer.parseInt(args[i]);

suma +=m;

} catch (NumberFormatException e) {

System.out.println("Niepoprawny argument nr " + (i + 1));

}

3. Uruchom program i sprawdź obsługę wyjątku.

Zadania do samodzielnego wykonania

1. Utwórz projekt o nazwie Zadanie1, zawierający klasę główną o nazwie Heron. Korzystając ze wzoru Herona, oblicz pole trójkąta o bokach a, b, c, wczytanych z klawiatury.

𝑃𝑜𝑙𝑒 = √𝑝(𝑝 − 𝑎)(𝑝 − 𝑏)(𝑝 − 𝑐) 𝑝 = (

𝑎+𝑏+𝑐

2

)

W programie należy uwzględnić obsługę wyjątków związanych z czytaniem danych i konwersją tekstu na liczby.

2. Utwórz projekt o nazwie Zadanie2, zawierający klasę o nazwie Obliczenia, którejmetoda główna wyświetla na konsoli (w oknie Output) następujące wyniki obliczeń:

− sumę składników postaci i2, dla i=1,…,n; wartość n jest podana jako pierwszy argument programu

iloczyn czynników podanych jako argumenty programu

Uwaga: Przy iteracyjnym wyliczaniu iloczynu nadaj mu wartość początkową jeden, w odróżnieniu od zera przy sumowaniu.

Zabezpiecz program przed błędem konwersji za pomocą instrukcjitry-catch. Wyświetlaj wyniki metodą

System.out.println(), uzupełniając wyliczone wartościodpowiednimi komentarzami.

3. Utwórz projekt o nazwie Zadanie3, który umożliwi obliczenie sumy liczb całkowitych z przedziału podanego w dwóch pierwszych argumentach programu. Podobnie jak w

ćwiczeniu 1

( w punkcie V.1) przypisz dwóm zmiennym

całkowitym wartości tych argumentów. Zastosuj instrukcję for dla obliczenia sumy, odpowiednio określając zakres wartości zmiennej sterującej pętlą. Wynik sumowania wyświetl w postaci tekstu:

“Suma liczb od xxx do yyy wynosi zzz “

Postępując według wskazówek z punktu V.4 instrukcji do ćwiczenia 1, wpisz dolną i górną granicę przedziału sumowania jako argumenty programu, a następnie uruchom program i sprawdź jego działanie.

Cytaty

Powiązane dokumenty

Uruchom aplikację (Kliknij prawym klawiszem myszy w oknie Project na nazwę projektu, w ukazanym oknie uruchom kolejno Build Project, Deploy Project, Run Project) i

Uruchom aplikację (Kliknij prawym klawiszem myszy w oknie Project na nazwę projektu, w ukazanym oknie uruchom kolejno Build Project, Deploy Project, Run Project lub tylko Run)

3) Każdy wykres należy podpisać oraz nazwać osie X, Y pamiętając o JEDNOSTKACH! Żeby to zrobić, należy wejść w opcje danego wykresu. Klikając na poszczególne jego

Na Facebooku Joanna Augustyniak nauczyciel załączam skan phrasal verbs, których proszę się już uczyć (będzie z tego sprawdzian jak wrócimy do szkoły).. Jeżeli ktoś

W celu stworzenia nowego programu należy kliknąć prawym przyciskiem myszy na ikonie My Computer wybierając New&gt;VI.. W oknie projektu zostanie utworzony

Uruchom program, sprawdź efekt podania wartości, która nie występuje w tablicy, wartości występującej w tablicy oraz efekt niepoprawnego podania liczby.. catch z

Domyślny inicjalizujący pola klasy dowolnymi wartościami, a także drugi inicjalizowany czterema parametrami: imie, nazwisko, stanowisko, stazPracy. Klasa

Dla wszystkich obiektów klasy Ksiazka powinna zostać wywołana metoda PrzedstawSie(), natomiast dla obiektów klasy Film na ekran powinno zostać wypisane nazwisko reżysera oraz