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);
}
}
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);
}
}
0 Response to "contoh simple calculator (handling exception)"
Post a Comment