yanivtamari

Bank

Jun 26th, 2019
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.69 KB | None | 0 0
  1. package Cls;
  2.  
  3. import java.util.Vector;
  4.  
  5. public abstract class Account {
  6.     static int accountNum = 1;
  7.     int account;
  8.     String owner;
  9.     double balance;
  10.     int commision;
  11.     boolean loan=false;
  12.  
  13.     public Account(String owner, double balance, int commision) {
  14.         this.owner = owner;
  15.         this.balance = balance;
  16.         this.commision = commision;
  17.         this.account = accountNum;
  18.         accountNum += 1;
  19.     }
  20.  
  21.     public boolean withdraw(int amount) {
  22.         double wantWithdraw = amount + amount*(1+commision/100);
  23.         if (balance-wantWithdraw>=0 || this instanceof Bussnies){
  24.             this.balance-=wantWithdraw;
  25.             return true;
  26.         }
  27.         return false;
  28.     }
  29.  
  30.     public void deposit(int amount){
  31.         double wantDeposit = amount - amount*(1+commision/100);
  32.         this.balance+=wantDeposit;
  33.     }
  34.  
  35.     public void setComm(int commision){
  36.         this.commision=commision;
  37.     }
  38.  
  39.     @Override
  40.     public String toString() {
  41.         return "Account{" +
  42.                 "account=" + account +
  43.                 ", owner='" + owner + '\'' +
  44.                 ", balance=" + balance +
  45.                 ", commision=" + commision +
  46.                 '}';
  47.     }
  48.  
  49.     public boolean getLoan(){
  50.         return (this instanceof Loanable);
  51.     }
  52.  
  53.     public boolean savings(){
  54.         return (this instanceof Normal);
  55.     }
  56.  
  57.     public static void gotLoanList(Vector<Account> allAcount, boolean hasLoan){
  58.         for (Account item:allAcount){
  59.             if (item instanceof Loanable && item.loan==hasLoan){
  60.                 System.out.println(item);
  61.             }
  62.         }
  63.     }
  64.  
  65.     public void setLoan(){
  66.         if (this instanceof Loanable){
  67.             this.loan=true;
  68.         } else {
  69.             System.out.println("this account can not take a loan");
  70.         }
  71.     }
  72. }
  73.  
  74.  
  75.  
  76.  
  77. package Cls;
  78.  
  79. public class Normal extends Account implements SaveAble{
  80.     public Normal(String owner, double balance, int commision) {
  81.         super(owner, balance, 5);
  82.     }
  83. }
  84.  
  85.  
  86.  
  87. package Cls;
  88.  
  89. public class Student extends Account implements Loanable{
  90.     public Student(String owner, double balance, int commision) {
  91.         super(owner, balance, 1);
  92.     }
  93. }
  94.  
  95.  
  96.  
  97. package Cls;
  98.  
  99. public class Bussnies extends Account implements Loanable{
  100.     public Bussnies(String owner, double balance, int commision) {
  101.         super(owner, balance, 1);
  102.     }
  103. }
  104.  
  105.  
  106.  
  107. package Cls;
  108.  
  109. public class Young extends Account {
  110.     public Young(String owner, double balance, int commision) {
  111.         super(owner, balance, 0);
  112.     }
  113. }
  114.  
  115.  
  116.  
  117.  
  118.  
  119. package Cls;
  120.  
  121. public interface SaveAble {
  122. }
  123.  
  124.  
  125. package Cls;
  126.  
  127. public interface Loanable {
  128. }
Add Comment
Please, Sign In to add comment