Keresés

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

  • Yodafon

    őstag

    válasz ArchElf #1557 üzenetére

    Thx. Műkszik csak nem tom hogy jól -e .Így néz ki a kivételkezelős rész:

    private void szamol(){

    c=a/b;
    if (c == Double.POSITIVE_INFINITY) throw new ArithmeticException("Nullával osztottunk!");
    }

    És futtatásnál ha direkt úgy adom meg a számokat hogy hibát adjon akkor ezt írja ki:

    Exception in thread "main" java.lang.ArithmeticException: Nullával osztottunk!
    at szamol.szamol(proba.java:26)
    at szamol.kiir(proba.java:35)
    at proba.main(proba.java:53)
    Java Result: 1

    Ez normális? El lehet tüntetni azokat a csúnya hibaüzeneteket hogy csak az maradjon amit megadtam neki?

  • 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

Hirdetés