Laman

Selasa, 24 April 2012

kalkulator sederhana (handling exception)


import java.util.*;
public class kalkulator
{
    // method operasi kali
public int kali(int a, int b){
int c= a*b;
return c;
}

// method operasi bagi
public float bagi(float a, float b){
float c= a/b;
return c;
}

    //method operasi pangkat
    public int pangkat(int a, int b){
         int c=(int) Math.pow(a,b);
         return c;
    }
   

    // method untuk input angka  
    public int inputAngka(){
String a;
int a2=0;
try {
  Scanner sc = new Scanner(System.in);
a=sc.nextLine();
a2=Integer.parseInt(a);
}
catch (InputMismatchException e) {
  System.err.println("Error: " + e);
}
return a2;
}
// method pemilihan menu dan pemanggilan method2 sesuai pilihan
public void pilihmenu(int pil){
int a=0;
int b=0;
float c=0;

switch(pil){
case 1 :
try
            {
                Scanner scan=new Scanner(System.in);
                int array[]= new int [10];
                int awal=0, tot;
                for(int i=0;i<100;i++)
                {
                    System.out.println("Masukkan angka ke-"+(i+1));
                    array[i]=scan.nextInt();
               
                    tot=awal+array[i];
                    awal=tot;
                    if(tot==-1 || i==9)
                    {
                        System.out.println("Total   =   "+tot);
                        break;
                    }
                    else if(tot>9999 || tot<-9999)
                    {
                        throw new IllegalArgumentException();
                    }
                }
            }
            catch (InputMismatchException err)
            {
                System.err.println("ERORR INPUT");
            }
            catch (IllegalArgumentException err)
            {
                System.err.println("ERROR, jumlah digit tidak boleh lebih dari 5");
            }
break;
case 2:
try
{
   System.out.println("[Perkalian]");
                    System.out.print("angka 1: ");
                    a=this.inputAngka();
                    System.out.print("angka 2: ");
                    b=this.inputAngka();

                    c=this.kali(a,b);
                    System.out.println("------------ *");
                    System.out.println("hasil  : "+c);
                    System.out.println();
                    if (c<-9999 || c>9999)
                    {
                        throw new IllegalArgumentException();
                    }
                }
                catch (NumberFormatException err)
                {
                    System.err.println("Bukan Angka");
                }
                catch (IllegalArgumentException err)
                {
                    System.err.println("ERROR, jumlah digit tidak boleh lebih dari 5");
                }
break;
case 3 :
try
{
   System.out.println("[Pembagian]");
   System.out.print("angka 1: ");
   a=this.inputAngka();
   System.out.print("angka 2: ");
   b=this.inputAngka();
   c=this.bagi(a,b);
   System.out.println("------------ /");
   System.out.println("hasil  : "+c);
   System.out.println();
   if (c<-9999 || c>9999)
   {
       throw new IllegalArgumentException();
   }
}
catch (ArithmeticException err)
{
   System.err.println("ERROR");
}
catch (NumberFormatException err)
{
   System.err.println("Bukan Angka");
}
catch (IllegalArgumentException err)
{
   System.err.println("ERROR, jumlah digit tidak boleh lebih dari 5");
   break;
}
                               
break;
case 4:
try
{
   System.out.println("[Pangkat]");
   System.out.print("angka 1: ");
   a=this.inputAngka();
   System.out.print("angka 2: ");
   b=this.inputAngka();
   c=this.pangkat(a,b);
   System.out.println("------------ /");
   System.out.println("hasil  : "+c);
   if (c<-9999 || c>9999)
   {
       throw new IllegalArgumentException();
   }
}
catch (NumberFormatException err)
{
   System.err.println("Bukan Angka");
}
catch (IllegalArgumentException err)
{
   System.err.println("ERROR, jumlah digit tidak boleh lebih dari 5");
   break;
}

break;
case 5:
System.out.println();
System.out.println("Anda Keluar");
break;

default:
System.out.println("-----------");
System.out.println("Salah Pilih");
System.out.println("-----------");
}
}
public static void main(String[] args)
{
int pil;
kalkulator kal= new kalkulator();

do {
System.out.println();
System.out.println("------------------");
System.out.println("MENU:");
System.out.println("1    Penjumlahan");
System.out.println("2    Perkalian");
System.out.println("3    Pembagian");
System.out.println("4    Pemangkatan");
System.out.println("5    Keluar");
System.out.println("------------------");

System.out.print("Masukkan Pilihan : ");
pil=kal.inputAngka();
kal.pilihmenu(pil);

} while (pil!=5);
}
}

3 komentar: