Zmiany

Skocz do: nawigacji, wyszukiwania

Wielokąty foremne

Dodane 5 bajtów, 10:59, 14 kwi 2017
[[Plik:Wf06.PNG | rys. 6 Klasa Rysunek]]
'''Zabezpieczenia podczas podawania liczby boków'''
Zakładaliśmy, że użytkownik poda właściwą odpowiedź na pytanie o liczbę boków, czyli liczbę naturalną nie mniejszą od 3. A co w innym przypadku? Możemy zabezpieczyć nasz program, nakazując mu ponownie zadawać pytanie, jeśli odpowiedź jest liczbą mniejszą od 3. W tym celu można zastosować pętlę do-while. Jej składnia jest następująca:
 
'''do{wykonywana czynność} while(warunek);'''
 
Pętla wykonywana jest co najmniej raz, dopóki spełniony jest warunek. Nasze zastosowanie mogłoby wyglądać tak:
 
'''do{String boki = JOptionPane.showInputDialog("Ile boków ma mieć wielokąt? (Nie mniej niż 3)"); ile = Integer.parseInt(boki);}while(ile<3);'''
 
A co w sytuacji, gdy użytkownik poda zamiast liczby całkowitej ułamek lub inny ciąg znaków. Program zgłosi błąd/wyjątek. Można przewidzieć taką sytuację. W Javie istnieje tzw. obsługa wyjątków za pomocą procedury try-catch:
 
'''try{wykonaj to, jeśli wszystko przebiega bezbłędnie}
catch(Exception ex){w przypadku pojawienia się błędu wykonaj to}'''
 
Korzystając z tej możliwości, możemy przyjąć, że program narysuje wielokąt, jeśli wpisaliśmy prawidłową wartość, a w przypadku zaistnienia błędu ukaże się okno komunikatu, że mieliśmy wpisać liczbę całkowitą oraz ustawi wartość wpisu na zero czyli zapyta nas ponownie (gdyż 0 < 3). Do ustawienia okienka komunikatu służy inna metoda z zastosowanej wcześniej biblioteki JOptionPane, a mianowicie showMessageDialog. Ten fragment kodu będzie po modyfikacji wyglądał tak:
[[Plik:Wf07.PNg PNG | rys. 7 Zabezpieczenie przed nieprawidłowymi wpisami ]]