Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package Cls;
- import java.util.Vector;
- public abstract class Account {
- static int accountNum = 1;
- int account;
- String owner;
- double balance;
- int commision;
- boolean loan=false;
- public Account(String owner, double balance, int commision) {
- this.owner = owner;
- this.balance = balance;
- this.commision = commision;
- this.account = accountNum;
- accountNum += 1;
- }
- public boolean withdraw(int amount) {
- double wantWithdraw = amount + amount*(1+commision/100);
- if (balance-wantWithdraw>=0 || this instanceof Bussnies){
- this.balance-=wantWithdraw;
- return true;
- }
- return false;
- }
- public void deposit(int amount){
- double wantDeposit = amount - amount*(1+commision/100);
- this.balance+=wantDeposit;
- }
- public void setComm(int commision){
- this.commision=commision;
- }
- @Override
- public String toString() {
- return "Account{" +
- "account=" + account +
- ", owner='" + owner + '\'' +
- ", balance=" + balance +
- ", commision=" + commision +
- '}';
- }
- public boolean getLoan(){
- return (this instanceof Loanable);
- }
- public boolean savings(){
- return (this instanceof Normal);
- }
- public static void gotLoanList(Vector<Account> allAcount, boolean hasLoan){
- for (Account item:allAcount){
- if (item instanceof Loanable && item.loan==hasLoan){
- System.out.println(item);
- }
- }
- }
- public void setLoan(){
- if (this instanceof Loanable){
- this.loan=true;
- } else {
- System.out.println("this account can not take a loan");
- }
- }
- }
- package Cls;
- public class Normal extends Account implements SaveAble{
- public Normal(String owner, double balance, int commision) {
- super(owner, balance, 5);
- }
- }
- package Cls;
- public class Student extends Account implements Loanable{
- public Student(String owner, double balance, int commision) {
- super(owner, balance, 1);
- }
- }
- package Cls;
- public class Bussnies extends Account implements Loanable{
- public Bussnies(String owner, double balance, int commision) {
- super(owner, balance, 1);
- }
- }
- package Cls;
- public class Young extends Account {
- public Young(String owner, double balance, int commision) {
- super(owner, balance, 0);
- }
- }
- package Cls;
- public interface SaveAble {
- }
- package Cls;
- public interface Loanable {
- }
Add Comment
Please, Sign In to add comment