Java : Kalkulator dengan Penanganan Kesalahan (Exception)

Di dalam source code ini ada tiga jenis Exception yang dapat ditangani, yaitu NumberFormatException, ArithmecticException, dan Exception biasa.

NumberFormatException berfungsi untuk menangani kesalahan2 dalam format penulisan angka. Contohnya menulis “,,5” atau ‘..5’  yang seharusnya adalah “.5” dalam format Double. Untuk penulisan ‘,5’ akan otomatis dikonversi menjadi ‘.5’ atau 0.5.

ArithmeticException berfungsi untuk menangani kesalahan pada perhitungan, contohnya pembagian dengan angka nol.

class Mathe.java

import java.util.Scanner;
public class Mathe
{
    private static Scanner s = new Scanner(System.in);
    private static String a, b, c, d;
    private static char x,y;
    private static double i,j,k,l;

    static String getValue()
    {
        a = s.nextLine();
        return a;
    }
    static String getValue2()
    {
        b = s.nextLine();
        return b;
    }

    static char getFunc()
    {
        d =  s.nextLine();
        x = d.charAt(0);
        return x;
    }
    static char getOperator()
    {
        d = s.nextLine();
        y = d.charAt(0);
        return y;
    }
    static double getKurang(double j, double k)
    {
        i = j - k;
        return i;
    }
    static double getTambah(double j, double k)
    {
        i = j + k;
        //System.out.println(i);
        return i;
    }
    static double getKali(double j, double k)
    {
        i = j * k;
        return i;
    }
    static double getBagi(double j, double k) throws ArithmeticException
    {
        if(k == 0)
        {
            throw new ArithmeticException();
        }
        else
        {
            i = j/k;
        }
        return i;
    }
}

class MatheTest.java 

import static java.lang.System.out;
class MatheTest
{
    static double i,j,k=0;
    static char n, m;
    public static void main(String... args)
    {
        /*
 *
 * Memakai static import, menulis jadi lebih singkat :D
 * Memakai static method, nggak perlu instantiate segala :)*/
        try{
        out.println("Program Anticipated Risky Behavior Calculator ");
        out.println("Dibuat oleh Hafizh Herdi Naufal");
        out.println("BEBAS UNTUK DIDISTRIBUSIKAN");
        out.print("Masukkan bilangan pertama : ");
        i = Double.parseDouble(Mathe.getValue().replaceFirst(",","."));
        out.print("Masukkan bilangan kedua : ");
        j = Double.parseDouble(Mathe.getValue2().replaceFirst(",","."));
        out.print("Masukkan operator aritmatika : ");
        m = Mathe.getOperator();
        if( m == '+')
        {
            k = Mathe.getTambah(i,j);
            //out.print("Hello");
        }
        else if(m == '-')
                {
                    k = Mathe.getKurang(i,j);
                }
                else if(m == '/')
                        {
                            k = Mathe.getBagi(i,j);
                        }
                        else if(m == '*')
                                {
                                    k = Mathe.getKali(i,j);
                                }
        out.print("Masukkan fungsi, = untuk menjalankan : ");
        n = Mathe.getFunc();
        if(n == '=')
        {
            out.println(String.format("Hasilnya adalah %,.2f", k));
        }
        else
        {
            throw new Exception();
        }
        }
        catch(ArithmeticException e)
        {
            out.println("Pembagian dengan nol");
        }
        catch(NumberFormatException e)
        {
            out.println("Tanda titik hanya boleh ditulis satu kali");
        }
        catch(Exception ec)
        {
            out.println("Exception Lain" + ec);
        }
    }

}




Download aplikasi kami di Google Play Store


Tutorial Menarik Lainnya :

Leave a Reply

Do NOT follow this link or you will be banned from the site!