Új hozzászólás Aktív témák

  • Yodafon

    őstag

    Hello

    Az lenne a problémám hogy csináltam egy egyszerű progit kivételkezelés gyakorlására ami eloszt két számot és ha 0-val oszt akkor kiír egy hibaüzit.
    De az a probléma hogy ha 0-val osztok akkor nem fut le a kivételkezelő hanem ezt írja ki:

    Az elso és masodik szam hanyadosa: Infinity

    Viszont ha az a és b változó int tipusú akkor lefut a kivételkezelő de akkor a helyes eredmény mindig 0.

    Valamint valaki megtudná mondani hogy a catch részben a kivétel típusa mellett mi az az e változó? Mert sehol sincs deklarálva se használva.

    import java.io.*;

    class szamol{

    private double a,b,c;
    szamol(){
    a=b=0;
    }

    private void beker() throws IOException{
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    a=Double.parseDouble(br.readLine());
    b=Double.parseDouble(br.readLine());
    }


    private void szamol(){
    try{
    c=a/b;
    }
    catch(ArithmeticException e){
    System.out.println("0-val való osztás");
    }
    }

    public void kiir() throws IOException {
    System.out.println("Kérek 2 számot:");
    beker();
    szamol();
    System.out.println("Az elso és masodik szam hanyadosa: "+c);
    }
    }

    public class proba {
    public static void main(String[] args) throws IOException{
    szamol t=new szamol();
    t.kiir();
    }
    }

Új hozzászólás Aktív témák