Zajęcia z Java - 3
Wyjątki
Zad. 1.
Przeanalizuj poniższy kod. Uruchom ten program i policz wartości pierwiastków wybranych liczb
Uwaga: zamiast podanych wyjątków, mogą być inne, np. te podane na wykładzie, w podręcznikach itd.
class matma{
public static void pierwiastek (String t) {
double f, pierw=0.0;
try {
f = Double.parseDouble(t);
pierw = Math.sqrt (f);
}
catch (NumberFormatException e) {
System.out.println ("Parametr nie jest liczbą");
return;
}
catch (ArithmeticException e) {
//Uwaga - ten wyjątek nigdy nie będzie wywołany
//bo w Java jest liczba NaN (Not a Number)
//to taka ciekawostka
System.out.println ("Wprowadzono liczbę ujemną");
return;
}
catch (Throwable tr) {
System.out.println ("Nieprzewidziany wyjątek "+tr);
return;
}
System.err.println ("Pierwiastek ma wartość: "+pierw);
}
public static void main(String args[])
{
pierwiastek("-2.0d");
}
}
Zad. 1.a. Napisz program, który pozwoli wczytać z klawiatury liczbę i policzy jej pierwiastek. Dla poprawienia czytelności użyj biblioteki Java Swing.
Ekran ma wyglądać następująco:
Obliczanie funkcji pierwiastek
------------------------------------
Wczytana liczba: xxxx
Wynik obliczeń: yyyy
-----Koniec programu----------
Zad. 2.a.
Liczby losowe, inne funkcje:
public class pierwiastek{
public static void main(String a[]){
System.out.println("losowa="+Math.random());
System.out.println("losowa="+10*Math.random());
System.out.println("sin(90)="+Math.sin(90));
System.out.println("sin(90)="+Math.sin(2*Math.PI*90/360));
System.out.println("cos(90)="+Math.cos(90));
System.out.println("exp(1)="+Math.exp(1));
}
}
Zad.2.b. Napisz program, który tablicuje wybraną funkcję dla n wartości z <x0,xk>. Uwzględnij sytuacje wyjątkowe.
Pomoc:
Pojawia lista funkcji do wyboru,
Wybieramy funkcję,
Wczytujemy x0, xk, n,
Obliczamy delta=(xk-x0)/n,
for (x=x0;x<=xk;x=x+delta)
obliczamy funkcję i formatujemy wnik
Zad.3.
Napisz aplikację w trybie tekstowym symulującą kalkulator. Uwzględnij wyjątki takie sytuacje jak dzielenie przez zero, niewłaściwa liczba, ujemna itd.
Zad. 4
Zaimplementuj grę zgaduj - zgadula. Jest to gra dla dwu graczy. Jeden podaje (jawnie) dwie liczby i wybiera (niejawnie) dowolną z tego przedziału. Drugi ma za zadanie ją odgadnąć podając liczbę i uzyskując informację, że jest ona większa, mniejsza lub równa ukrytej.
Zad. 5
Napisz aplikację, która wspomaga pracę dziekanatu (była podobna na poprzednich zajęciach, można skorzystać). Dodaj elementy związane kontrolą poprawności danych. Obdsługuj je za pomoca wyjątków.