Co-authored-by: Fastium <Fastium@users.noreply.github.com>
This commit is contained in:
parent
1b82038a15
commit
b8951031cd
12
.vscode/launch.json
vendored
Normal file
12
.vscode/launch.json
vendored
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"type": "java",
|
||||||
|
"name": "Launch BankController",
|
||||||
|
"request": "launch",
|
||||||
|
"mainClass": "bank.BankController",
|
||||||
|
"projectName": "Lab15_OOP_90898795",
|
||||||
|
"vmArgs": "-enableassertions"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -8,18 +8,27 @@ public abstract class BankAccount {
|
|||||||
return balance;
|
return balance;
|
||||||
}
|
}
|
||||||
public void deposit(double amount){
|
public void deposit(double amount){
|
||||||
|
if(amount<0){
|
||||||
|
error("cannot deposit this amount !");
|
||||||
|
return;
|
||||||
|
}
|
||||||
balance += amount;
|
balance += amount;
|
||||||
}
|
}
|
||||||
public boolean withdraw(double amount){
|
public boolean withdraw(double amount){
|
||||||
if(balance<amount){
|
if(balance<amount){
|
||||||
System.out.println("Problem : cannot withdraw that amount");
|
return error("cannot withdraw this amount !");
|
||||||
return false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
balance -= amount;
|
balance -= amount;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected boolean error(String text){
|
||||||
|
System.out.println("Problem : " + text);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return owner + " have " + balance + "CHF on his account.";
|
return owner + " have " + balance + "CHF on his account.";
|
||||||
|
@ -3,15 +3,40 @@ package bank;
|
|||||||
public class Checking extends BankAccount{
|
public class Checking extends BankAccount{
|
||||||
private double minBalance;
|
private double minBalance;
|
||||||
|
|
||||||
Checking(String owner, double amount, double minBalance){
|
protected Checking(String owner, double amount, double minBalance){
|
||||||
|
if(owner==null){
|
||||||
|
error("An account have to be an owner");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(amount<minBalance){
|
||||||
|
error("Not enough money");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(minBalance>0){
|
||||||
|
error("Min balance can't be positive");
|
||||||
|
return;
|
||||||
|
}
|
||||||
this.owner = owner;
|
this.owner = owner;
|
||||||
this.balance = amount;
|
this.balance = amount;
|
||||||
this.minBalance = minBalance;
|
this.minBalance = minBalance;
|
||||||
}
|
}
|
||||||
public void setMinBalance(double minBalance) {
|
protected void setMinBalance(double minBalance) {
|
||||||
|
if(minBalance>0){
|
||||||
|
error("Min balance can't be positive");
|
||||||
|
return;
|
||||||
|
}
|
||||||
this.minBalance = minBalance;
|
this.minBalance = minBalance;
|
||||||
}
|
}
|
||||||
public double getMinBalance() {
|
public double getMinBalance() {
|
||||||
return minBalance;
|
return minBalance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean withdraw(double amount){
|
||||||
|
if((balance-minBalance)<amount){
|
||||||
|
return error("cannot withdraw this amount !");
|
||||||
|
}
|
||||||
|
balance -= amount;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,13 +5,26 @@ import java.util.Date;
|
|||||||
|
|
||||||
public class Savings extends BankAccount{
|
public class Savings extends BankAccount{
|
||||||
private double interestRate;
|
private double interestRate;
|
||||||
Savings(String owner, double amount, double interestRate){
|
protected Savings(String owner, double amount, double interestRate){
|
||||||
|
if(owner==null){
|
||||||
|
error("An account have to be an owner");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(amount<0) {
|
||||||
|
error("A Saving account can't have a negative amount");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if(interestRate<0){
|
||||||
|
error("cannot have interest negative");
|
||||||
|
return;
|
||||||
|
}
|
||||||
this.owner = owner;
|
this.owner = owner;
|
||||||
this.balance = amount;
|
this.balance = amount;
|
||||||
this.interestRate = interestRate;
|
this.interestRate = interestRate;
|
||||||
}
|
}
|
||||||
public double calcInterest(Date a, Date b){
|
|
||||||
int day = DateUtils.nDays(a, b);
|
protected double calcInterest(Date a, Date b){
|
||||||
return interestRate * (day/360.0);
|
double days = DateUtils.nDays(a, b);
|
||||||
|
return balance * interestRate * (days/360.0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user