Witam
Jestem studentem informatyki i postanowiłem na własną rękę podszkolić się w programowani w języku Java.
Mam takie zadanie: Napisz aplikację, która obsłuży wyjątek w przypadku wystąpienia operacji niedozwolonej - np.dzielenia liczby przez 0 (ArithmeticException). Po wykryciu wystąpienia wyjątku należy wyświetlić komunikat "Nie wolno dzielić przez zero ", następnie pomimo wystąpienia błędu zwrócić komunikat i zakończyć działanie programu. Napisałem taki program:
package zadania_lab10;
import java.util.Scanner;
public class Zad1 {
private static int mianownik;
public static void main(String[] args) {
/* konstrukcja try catch która pozwala obsużyć wyjątek dzielenia przez zero. wewnątrz try(ang. próbuj) piszę kod programu , który będzie się wykonywać
Dopuki wystąpi wyjątek.Po wystąpieniu wyjątku za pomocą catch(ang łapać) wyjątek zostaje przechwycony i obsużony
*/
try{
int licznik , mianownik; //zmienne przechowujące liczby do dzielenia.
double wynik;
Scanner o = new Scanner(System.in);
System.out.println("Podaj liczby do dzielenia: ");
licznik = o.nextInt(); // do zmiennej licznik dodaje liczbę pobraną z klawiatury
mianownik = o.nextInt();// do zmiennej mianownik dodaję liczbę pobraną z klawiatury
o.close();
wynik = (double)licznik / mianownik;
System.out.println("Wynik dzielenia: " +wynik);
}catch(ArithmeticException e) {
System.out.println("Nie wolno dzielić przez zero");
System.out.println("Pomimo błędu program się nie wykszaczył. \n program konczy działanie");
}
}
}
Problem polega na tym , że gdy dziele przez 0 to zamiast wyświetlić komunikat "Nie wolno dzielić przez zero"
wyświetla " Wynik dzielenia: Infility ". Czy ktoś może mi pomuc rozwiązać ten problem?. Z góry dziękuję