Program Bank Kredit Java
Written By Unknown on Friday, 21 March 2014 | 01:49
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