Kalkulator Gui

0

Witam chciałbym w kalkuatorze napisanym w gui dodać wyjątek - dzielenia przez zero. Na tą chwilę mam to po prostu zrobione na ife, czy ktoś pomoże przerobić to na wyjątek?


private void equalsActionPerformed(java.awt.event.ActionEvent evt) {                                       
        secondDouble=(Double.parseDouble(String.valueOf(display.getText())));
        
        
        if(plusClick>0){
            totalDouble=firstDouble+secondDouble;
            display.setText((String.valueOf(totalDouble)));
            firstDouble=0;
            secondDouble=0;
            plusClick=0;
        }
        if(minusClick>0){
            totalDouble=firstDouble-secondDouble;
            display.setText((String.valueOf(totalDouble)));
            firstDouble=0;
            secondDouble=0;
            minusClick=0;
        }
        if(multiplyClick>0){
            totalDouble=firstDouble*secondDouble;
            display.setText((String.valueOf(totalDouble)));
            firstDouble=0;
            secondDouble=0;
            multiplyClick=0;
        }   
        
           
       if (divideClick>0){
        if(secondDouble==0){
            display.setText("Nie można dzielić przez zero");
		}
		else{totalDouble=firstDouble/secondDouble;
            display.setText((String.valueOf(totalDouble)));
            firstDouble=0;
            secondDouble=0;
            divideClick=0;
		}
}
       try { 
                
                wynik=wynik+Double.toString(totalDouble)+" ";
                try (PrintWriter zapis_wyniku = new PrintWriter("wynik.txt")) {
                    zapis_wyniku.println(wynik);
                }
            } catch (FileNotFoundException ex) {
                Logger.getLogger(Calculatorr.class.getName()).log(Level.SEVERE, null, ex);
            }
    }                                      

0

Błedne Usuwasz ifa i normalnie dzielisz przez 0. Leci wyjątek. Problem rozwiązany.
Ponieważ masz double to jak to kolega @bogdans zauważył wyjątek nie leci. Czyli możesz zrobić w
swoim ifie throw new ArithmeticException();
albo
po podzieleniu sprawdzić czy wynik jest liczbą:

if ( Double.isNaN(wynikDzielenia) ) {
   throw new ArithmeticException();
}

Zostaje pytanie po co Ci ten wyjątek....?
I drugie "jak to kalkulator na double..." ? (ale to możesz olać na razie - w każdym razie warto wiedzieć, że ten kalkulator będzie generalnie dziwny).

0
if(secondDouble==0){
            throw new MojWyjatekDzieleniaPrzezZero("Pamietaj Cholero nie dziel przez zero");
        }

zrob se tylko klase MojWyjatekDzieleniaPrzezZero dziedziczący po Exception ;-)

pozdro

0

Dzięki Panowie! A wyjątek po to, bo prowadzący powiedział, że będzie happy jak w projekcie będzie zawarty jakiś wyjątek :D

1 użytkowników online, w tym zalogowanych: 0, gości: 1