2 Instr2 id 603133 Nieznany (2)

background image

Java SE – programowanie w NetBeans IDE

Zaj

ę

cia 2

WSM

Materiały tylko do u

ż

ytku wewn

ę

trznego.

Opracował:

Zbigniew JANIK ©

1

I

NSTRUKCJA DO

Ć

WICZENIA

2

I.

Standardowe wejście/wyjście: czytanie tekstu z klawiatury i wyświetlanie na ekranie monitora

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ę

Projekt2

a klasie głównej nazwę

WeWy

(nawiązującą do operacji wejścia/wyjścia tj. czytania danych i wyprowadzania

wyników). Jako miejsce docelowe projektu wybierz folder roboczy

G:\

(patrz: Zajęcia 1 pkt. IV.1-4).

2.

Na początku metody

main()

, pod nagłówkiem i po otwierającym nawiasie klamrowym kolejno:

a.

Wstaw komentarz

b.

Zadeklaruj 5-elementową, pustą tablicę o elementach typu całkowitego:

c.

Zadeklaruj zmienną całkowitą z wartością początkową określającą liczbę elementów tablicy instrukcją:

d.

Utwórz zmienną

s

klasy

String

nie przypisując jej żadnej wartości tekstowej:

e.

Utwórz pole reprezentujące czytnik buforowany, który będzie wczytywał z klawiatury pojedyncze wiersze tekstu:

(Do zmiennej

we

jest przypisany obiekt czytnika buforowanego utworzony konstruktorem

BufferedReader()

.

Parametrem jego konstruktora jest nienazwany obiekt klasy

InputStreamReader

czyli czytnik strumienia danych

wejściowych, podwiązany przez parametr konstruktora ze standardowym strumieniem wejścia systemu

System.in

)

f.

Użyj metody

System.out.print()

aby wyświetlić tekst:

"Wprowad

ź

swoje imi

ę

i nazwisko: "

.

3.

Wybierz polecenie Fix Imports z menu podręcznego, aby zaimportować odpowiednie klasy z pakietu

java.io

zasobów

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

4.

Na początku metody

main()

, w celu wczytania wiersza tekstu z klawiatury (twojego imienia i nazwiska), wykorzystaj metodę

readLine()

obiektu

we

instrukcją:

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".

5.

Kliknij w ikonę błędu na lewym marginesie okna edytora i z rozwijanej
listy wybierz drugą pozycję w celu otoczenia bieżącej instrukcji
odpowiednią instrukcją

try-catch

(rysunek obok).

6.

Usuń instrukcję wywołującą metodę

Logger.getlogger()

w części

catch

.

W tym miejscu wywołaj metodę

System.out.println()

tak, aby przy wystąpieniu wyjątku klasy

IOException

wyświetlać

tekst

"Bł

ą

d wej

ś

cia/wyj

ś

cia"

7.

Na końcu bloku

try

dopisz instrukcje:

a.

wyświetlającą tekst

"Podaj kolejno całkowite warto

ś

ci elementów tablicy tT"

b.

wprowadzające z klawiatury kolejne elementy tablicy

tT

, w tym celu wykonaj poniższe czynności

umieść kursor na końcu bloku

try

, w pustym wierszu,

naciśnij z klawiatury sekwencję klawiszy <Ctrl+spacja> (wywołanie wzorca szablonów)

wpisz

for

powinna pojawić się poniższa lista szablonów, z której wybierz tą podświetloną na niebiesko i naciśnij

<Enter>

usuń wygenerowaną instrukcję znajdującą się wewnątrz pętli for a na jej miejsce dopisz trzy poniższe:

Mamy tu instrukcję wczytania linii tekstu otoczoną dwiema instrukcjami, z których pierwsza wyświetli podpowiedz
dla użytkownika, a druga przekształci wczytany tekst na liczbę całkowitą i przypisze ją kolejnemu elementowi tablicy

8.

Na końcu instrukcji

try-catch

dodaj drugą część

catch

, która obsłuży wyjątek klasy

NumberFormatException

wyświetlając komunikat

"Niepoprawny format liczby"

i zatrzymaj działanie programu:

background image

Java SE – programowanie w NetBeans IDE

Zaj

ę

cia 2

WSM

Materiały tylko do u

ż

ytku wewn

ę

trznego.

Opracował:

Zbigniew JANIK ©

2

9.

Uruchom program klawiszem <F6> lub ikoną na pasku narzędziowym. Kliknięciem przenieś kursor do okna

Output

i wypróbuj wpisywanie danych do tablicy.

10.

Na końcu metody

main()

za blokiem instrukcji

try-catch

dopisz samodzielnie instrukcje wyświetlające elementy tablicy

tT

w jednym wierszu poprzedzone informacją, kto wprowadzał dane Wykorzystaj do tego celu nową pętlę

for

. Wykonanie

programu powinno wyświetlić poniższy wydruk:

II.

Tworzenie tablicy o danych wartościach elementów; tablica dwuwymiarowa; dynamiczny rozmiar tablicy

1.

Na końcu metody

main()

wstaw komentarz

2.

Poniżej zadeklaruj drugą zmienną tablicową o nazwie

tV

, również o elementach całkowitych, równocześnie przypisując jej nowo

utworzoną tablicę o zadanych elementach:

3.

Następnie zmienną

m

typu

int

, podobnie jak w punkcie I.2.b przypisując jej liczbę elementów tablicy

tV

.

4.

Poniżej zadeklaruj w sposób dynamiczny dwuwymiarową zmienną tablicową

tW

o elementach całkowitych i wymiarach

n

x

m

:

5.

Poniżej umieść dwie zagnieżdżone pętle

for

, a w nich instrukcję wyliczającą elementy tablicy

tW

, jako iloczyny odpowiednich

elementów tablic

tT

oraz

tV

:

6.

Na końcu metody

main()

wpisz instrukcję wyświetlającą nagłówek

"Tablica dwuwymiarowa tW o ... wierszach i

... kolumnach"

. W miejscu kropek powinny się znaleźć wartości zmiennych

n

oraz

m

.

7.

Na końcu metody

main()

w nowych zagnieżdżonych pętlach

for

wpisz instrukcję wyświetlającą elementy i-tego wiersza

tablicy w oddzielone spacjami; aby przejść do nowej linii po zakończeniu wiersza, pod wewnętrzną pętlą

for

wywołaj metodę

println()

bez parametrów:

8.

Uruchom program, wpisz dane i zaobserwuj wyświetlone wyniki.

III.

Zapis wyników do pliku tekstowego

1.

Na końcu metody

main()

wstaw komentarz

2.

W celu zapisania do pliku zawartości tablicy wynikowej wykorzystamy klasę

FileWriter

z pakietu

java.io

; parametrem

jej konstruktora jest nazwa pliku. Aby utworzyć obiekt tej klasy, piszący do pliku o nazwie zadanej w programie, na końcu
metody main wpisz instrukcje:

3.

Zaimportuj klasę

FileWriter

klikając w ikonę ** i wybierając pierwszą pozycję z listy rozwijanej (możesz też użyć polecenia

Fix Imports lub skrótu <Ctrl+Shift+I>).

background image

Java SE – programowanie w NetBeans IDE

Zaj

ę

cia 2

WSM

Materiały tylko do u

ż

ytku wewn

ę

trznego.

Opracował:

Zbigniew JANIK ©

3

4.

Analogicznie jak w pkt I.5, otocz instrukcje tworzącą obiekt

wy

blokiem

try-catch

, aby obsłużyć wyjątek klasy

IOException

. W przypadku przechwycenia wyjątku wyświetl komunikat:

"Nie mo

ż

na utworzy

ć

pliku

wyniki.txt"

umieszczając odpowiednią instrukcję w bloku

catch

.

5.

Na końcu bloku

try

wpisz instrukcję zapisującą do pliku nagłówek:

Metoda

write()

obiektu klasy

FileWriter

zapisuje do pliku łańcuch znaków podany, jako parametr.

6.

Na końcu bloku

try

dopisz instrukcje zapisujące do pliku elementy tablicy

tW

, w formacie podobnym do tego, jak miało to

miejsce w pkt. II.7. Elementy tablicy w wierszu powinny być oddzielone w tym przypadku znakiem tabulacji, a po zewnętrznej
pętli

for

umieść wywołanie metody zamykającej plik po zapisie wyników

7.

Uruchom program, wpisz dane i zaobserwuj wyświetlone wyniki. W oknie Files odszukaj i otwórz plik

wyniki.txt

w folderze

projektu, aby obejrzeć zapis wyników (możesz też posłużyć się w tym celu poleceniem menu File|Open File).

IV.

Instrukcja warunkowa if; zliczanie elementów tablicy

1.

Na końcu metody

main()

wstaw komentarz

2.

Zadeklaruj trzy zmienne całkowite

ld

,

lu

,

lz

, które posłużą, jako liczniki elementów tablicy; nadaj im wartości początkowe

zero:

3.

W zagnieżdżonych pętlach

for

umieść instrukcje warunkową

if

, która zliczy dodatnie elementy tablicy

tW

:

4.

Wpisz instrukcje dopisującą do pliku wynikowego

wyniki

.

txt

wiersz z tekstem

..." elementów dodatnich"

.

W miejscu kropek zapisz wartość zmiennej

ld

. W tym celu musisz ponownie otworzyć istniejący plik

wyniki

.

txt

do zapisu

z parametrem

true

, który pozwoli dopisać na końcu w istniejącym już pliku odpowiednią informację:

Pamiętaj o bloku

try-catch

. W przypadku przechwycenia wyjątku wyświetl komunikat:

"Nie znaleziono pliku -

wyniki.txt"

5.

Wyświetl również na ekranie, informacje o liczbie dodatnich elementów w tablicy

tW

.

6.

Aby zliczyć elementy ujemne i zerowe, podobnie jak w punkcie IV.3 dodaj instrukcje

if

warunkowo zwiększające wartości

liczników

lu

i

lz

, w warunkach zastosuj odpowiednie operatory porównania: symbol mniejszości

<

oraz symbol równości

==

(dwuznak).

7.

Dodaj instrukcje zapisujące wartości liczników

lu

oraz

lz

do pliku wynikowego, oraz wyświetl te informacje na ekranie

podobnie jak w punkcie IV.5.

8.

Pamiętaj o zamknięciu pliku

wyniki

.

txt

instrukcją

wy.close();

9.

Uruchom i wykonaj program; sprawdź zawartość pliku wynikowego

wyniki

.

txt

.

V.

Czytanie danych z pliku tekstowego; instrukcja if; porównywanie obiektów; instrukcja while

1.

Na końcu metody

main()

wstaw komentarz

2.

Wykonaj polecenie Format z menu podręcznego (lub użyj skrótu <Alt+Shift+F>), aby standardowo sformatować tekst źródłowy
programu.

3.

Na końcu metody

main()

wpisz wywołanie metody

System.out.print()

w celu wyświetlenia pytania pod adresem

użytkownika aplikacji:

"Czy chcesz wczyta

ć

dane z pliku? [TAK/NIE]"

4.

Poniżej jako pierwszą w części

try

, wpisz instrukcję wczytującą odpowiedź użytkownika do zmiennej

odp

klasy

String

:

5.

Poniżej wpisz instrukcję warunkową

if

, której blok wewnętrzny będzie wykonany, jeżeli użytkownik odpowie

TAK

:

Łańcuchy znaków są obiektami klasy

String

. Wszystkie obiekty Javy są wyposażone w metodę

equals()

, która zwraca

logiczną wartość

true

, jeżeli zachodzi równość z obiektem tej samej klasy podanym, jako parametr; w przeciwnym wypadku

zwracana jest wartość

false

.

background image

Java SE – programowanie w NetBeans IDE

Zaj

ę

cia 2

WSM

Materiały tylko do u

ż

ytku wewn

ę

trznego.

Opracował:

Zbigniew JANIK ©

4

6.

Za komentarzem

// wczytaj dane z pliku

dopisz dwie instrukcje; jedna z nich wyświetla komunikat dla użytkownika,

druga czyta wpisaną z klawiatury nazwę pliku danych i dodaje do niej rozszerzenie właściwe dla plików tekstowych:

7.

Ze strony WWW dla przedmiotu skopiuj do foldera projektu

G:\Projekt2

dwa pliki z danymi o nazwach

dane1.txt

oraz

dane2.txt

i obejrzyj ich zawartość.

8.

Aby wczytać dane liczbowe z pliku tekstowego, posłużymy się klasą

Scanner

z pakietu

java.util

; parametrem konstruktora

Scanner()

jest nowo utworzony obiekt klasy

File

, reprezentujący plik o nazwie przypisanej do zmiennej

nazwaPliku

.

W kolejnym wierszu części

if

utwórz obiekt skanera i przypisz go do zmiennej o nazwie

sc

instrukcją:

9.

Dokonaj importu użytych klas Javy poleceniem Fix Imports lub skrótem <Ctrl+Shift+I>.

10.

W dalszym ciągu instrukcji

if

wyzeruj zmienną

n

, a następnie wpisz instrukcję iteracyjną

while

, a w niej użyj metody

nextInt()

obiektu

sc

klasy

Scanner

do wczytania kolejnych liczb całkowitych z pliku:

11.

Poniżej pętli

while

wywołaj metodę zamykającą przeczytany plik

sc.close()

;

W powyższym fragmencie programu (pkt.10) wykorzystaliśmy trzy metody obiektu

sc

klasy

Scanner

. Metoda

hasNextInt()

zwraca logiczną wartość

true

, jeżeli w pliku znajduje się kolejna liczba całkowita; w przeciwnym wypadku

zwracana jest wartość

false

. Metoda

nextInt()

zwraca kolejną liczbę całkowitą wczytaną z pliku. Metoda

close()

zamyka

plik czytany przez skaner. Dane wczytane z pliku są wyświetlane w jednym wierszu, oddzielone spacjami.

12.

Aby po wyświetleniu danych przejść do nowego wiersza, poniżej zamykającego nawiasu pętli

while

wywołaj metodę

System.out.println()

bez parametru.

13.

Uruchom program i sprawdź jego działanie, podając, jako nazwę pliku słowo

dane1

.

14.

Następnie uruchom go ponownie, podając niewłaściwą nazwę pliku. Wystąpi wyjątek klasy

IOException

. Ściślej biorąc jest to

wyjątek podklasy klasy

IOException

, o nazwie

FileNotFoundException

. Po końcu części

try

, jako pierwszą cześć

catch

dodaj obsługę klasy wyjątków

FileNotFoundException

:

15.

Przetestuj obsługę tego wyjątku, ponownie podając niewłaściwa nazwę pliku. Zwróć uwagę na użycie metody

getMessage()

,

która zwraca tekst komunikatu opisującego wyjątek

ex

.

16.

Uruchom program i podaj, jako nazwę pliku słowo

dane2

. Tym razem wystąpi błąd wykonania spowodowany znanym już

wyjątkiem o nazwie

ArrayIndexOutOfBounds

, ponieważ liczba wartości całkowitych zawartych w pliku

dane2.txt

przekracza rozmiar tablicy

tT

.

17.

Aby uwzględnić obsługę wyjątków tej klasy, utwórz nowa cześć

catch

i dopisz ją po wszystkich istniejących

catch

.

18.

Skompiluj i uruchom program i sprawdź jego działanie przy czytaniu z pliku

dane2

.

VI.

Projekt do samodzielnego wykonania – będzie sprawdzany na Zajęciach 3

1.

Skopiuj istniejący projekt

Projekt2

pod nową nazwę

Projekt2A

, klikając w oknie Projects nazwę projektu prawym przyciskiem

i wybierz z menu podręcznego opcję Copy…

2.

Zmień w nowy projekcie strukturę programu tak (zmień kolejność instrukcji i usuń zbędne), aby wystąpił w nim

tylko:

jeden blok instrukcji

try-catch

, ale z kilkoma częściami

catch

,

trzy pętle for, w tym tylko raz blok zagnieżdżonych (podwójnych) instrukcji

for

.

czterokrotnie instrukcja

if

jednokrotnie instrukcja

while

3.

Funkcjonalność programu nie powinna ulec zmianie, tzn. kolejność wykonywanych czynności, nadal powinny być zgodne
z instrukcją.


Wyszukiwarka

Podobne podstrony:
Abolicja podatkowa id 50334 Nieznany (2)
4 LIDER MENEDZER id 37733 Nieznany (2)
katechezy MB id 233498 Nieznany
metro sciaga id 296943 Nieznany
perf id 354744 Nieznany
interbase id 92028 Nieznany
Mbaku id 289860 Nieznany
Probiotyki antybiotyki id 66316 Nieznany
miedziowanie cz 2 id 113259 Nieznany
LTC1729 id 273494 Nieznany
D11B7AOver0400 id 130434 Nieznany
analiza ryzyka bio id 61320 Nieznany
pedagogika ogolna id 353595 Nieznany
Misc3 id 302777 Nieznany
cw med 5 id 122239 Nieznany
D20031152Lj id 130579 Nieznany

więcej podobnych podstron