#WW

#WW
Home » » Program Bank Kredit Java

Program Bank Kredit Java

Written By Unknown on Friday, 21 March 2014 | 01:49

Program Bank Kredit Java

public class Driver {
    public static void main(String[] args) {
        Bank bank1=new Bank("ManagerBank 1",5000000);
        OrangKaya amir=new OrangKaya("Amir",2000000);
        OrangMiskin badu=new OrangMiskin("Badu",0);

            badu.pinjamDuit(amir, 1000000);
            badu.pinjamDuit(bank1, 800000);
            badu.pinjamDuit(amir, 600000);
       
       
    }
}




public interface Kreditor {
    public void beriPinjaman(int duit) throws TolakException;
}





public abstract class Orang {
    protected String nama;
    public Orang(String vnama){
        nama=vnama;
    }
    public String getNama(){
        return nama;
    }
    public abstract void ngomong(String pesan);
}






public class Bank implements Kreditor{
    private int asset;
    private Orang manager;
   
    public Bank(String vmanager, int asset){
        manager = new Orang(vmanager){
            @Override
            public void ngomong(String pesan) {
                System.out.println(pesan);
            }
        };
        this.asset=asset;
    }

    @Override
    public void beriPinjaman(int duit) throws TolakException {
        if(duit<1000000){
            this.asset=this.asset-duit;
            manager.ngomong(this.manager.getNama()+" bilang memberi pinjaman "+duit);
        }
        else{
            System.out.println("Bank tidak akan memberi pinjaman ");
            throw new TolakException("Bank PELIT! ");
        }
    }
   
}




public class TolakException extends Exception{
    public TolakException(String pesan){
        super(pesan);
    }
}





public class OrangMiskin extends Orang{
    private int utang=0;
    public OrangMiskin(String nama, int vutang){
        super(nama);
        utang=vutang;
    }
   
    public void pinjamDuit(Kreditor k, int pinjaman){
           
            try{
                this.utang=this.utang+pinjaman;
                k.beriPinjaman(pinjaman);
                ngomong(this.nama+" bilang diberi pinjaman sebesar "+pinjaman);
            }
            catch(TolakException e){
                System.out.println(e.getMessage());
                ngomong(this.nama+" bilang malangnya nasibku");
            }
           
    }
   
    @Override
    public void ngomong(String pesan) {
        System.out.println(pesan);
    }
}






public class OrangKaya extends Orang implements Kreditor {
    private int duit;
   
    public OrangKaya(String nama, int aset){
        super(nama);
        duit=aset;
    }

    @Override
    public void beriPinjaman(int duit) throws TolakException{
        if(duit<1000000){
            this.duit=this.duit-duit;
            ngomong(this.nama+" bilang memberi pinjaman "+duit);
        }
        else{
            ngomong(this.nama+" bilang tidak akan memberi pinjaman ");
            throw new TolakException("Orang Kaya lagi Pelit! ");
        }
    }

    @Override
    public void ngomong(String pesan) {
        System.out.println(pesan);
    }
   
}

0 komentar:

Post a Comment