diff --git a/src/main/java/school/lemon/changerequest/java/banking/BankAccountImpl.java b/src/main/java/school/lemon/changerequest/java/banking/BankAccountImpl.java new file mode 100644 index 0000000..b63bf6a --- /dev/null +++ b/src/main/java/school/lemon/changerequest/java/banking/BankAccountImpl.java @@ -0,0 +1,66 @@ +package school.lemon.changerequest.java.banking; + +/** + * Created by lbrdev on 10.01.2017. + * Project: exceptions.hw1 + */ +public class BankAccountImpl implements BankAccount { + + double balance; + double rate; + int accountNumber; + double sum; + double newRate; + + public BankAccountImpl() { + this.balance = 0; + this.rate = 0; + this.accountNumber = 0; + } + + @Override + public int getAccountNumber() { + return accountNumber; + } + + @Override + public double getBalance() { + return balance; + } + + @Override + public double getRate() { + return rate; + } + + @Override + public void setRate(double rate) { + rate = newRate; + } + + @Override + public void withdraw(double sum) throws IllegalArgumentException { + if (balance < sum) { + throw new IllegalArgumentException("Not enough money for withdrawal"); + } + balance = getBalance() - sum; + } + + @Override + public void deposit(double sum) throws IllegalArgumentException { + balance = getBalance() + sum; + } + + @Override + public void addInterest() { + balance = getBalance() + getBalance() * getRate(); + } + + @Override + public String toString() { + return ("Account#" + + getAccountNumber() + + ", (" + + "$" + getBalance() + ")"); + } +} diff --git a/src/main/java/school/lemon/changerequest/java/banking/TestBA.java b/src/main/java/school/lemon/changerequest/java/banking/TestBA.java new file mode 100644 index 0000000..9a4c6c5 --- /dev/null +++ b/src/main/java/school/lemon/changerequest/java/banking/TestBA.java @@ -0,0 +1,28 @@ +package school.lemon.changerequest.java.banking; + +/** + * Created by lbrdev on 10.01.2017. + * Project: exceptions.hw1 + */ +public class TestBA { + public static void main(String[] args) { + BankAccountImpl bankAccount1 = new BankAccountImpl(); + + bankAccount1.balance = 15; + bankAccount1.rate = 10; + bankAccount1.accountNumber = 1; + bankAccount1.sum = 10; + bankAccount1.newRate = 11; + + System.out.println("" + bankAccount1.toString()); + bankAccount1.withdraw(bankAccount1.sum); + System.out.println("withdraw " + bankAccount1.balance ); + bankAccount1.addInterest(); + System.out.println("after addInterest" + bankAccount1.balance); + bankAccount1.setRate(bankAccount1.newRate); + bankAccount1.addInterest(); + System.out.println("addInterst" + bankAccount1.balance); + + + } +}