Просмотр исходного кода

Not Broken

Added 2 popups for Overdrawn, Insufficient
Added disable/ enable buttons
changed to float
Nick Satinover 7 лет назад
Родитель
Сommit
a6b304f77b

+ 2
- 2
src/main/java/rocks/zipcode/atm/CashMachine.java Просмотреть файл

@@ -30,7 +30,7 @@ public class CashMachine {
30 30
         );
31 31
     }
32 32
 
33
-    public void deposit(int amount) {
33
+    public void deposit(float amount) {
34 34
         if (accountData != null) {
35 35
             tryCall(
36 36
                     () -> bank.deposit(accountData, amount),
@@ -39,7 +39,7 @@ public class CashMachine {
39 39
         }
40 40
     }
41 41
 
42
-    public void withdraw(int amount) {
42
+    public void withdraw(float amount) {
43 43
         if (accountData != null) {
44 44
             tryCall(
45 45
                     () -> bank.withdraw(accountData, amount),

+ 2
- 2
src/main/java/rocks/zipcode/atm/CashMachineApp.java Просмотреть файл

@@ -44,7 +44,7 @@ public class CashMachineApp extends Application {
44 44
         btnDeposit.setTextFill(blue);
45 45
         btnDeposit.setDisable(true);
46 46
         btnDeposit.setOnAction(e -> {
47
-            int amount = Integer.parseInt(setDepositField.getText());
47
+            float amount = Float.parseFloat(setDepositField.getText());
48 48
             cashMachine.deposit(amount);
49 49
             areaInfo.setText(cashMachine.toString());
50 50
         });
@@ -54,7 +54,7 @@ public class CashMachineApp extends Application {
54 54
         btnWithdraw.setTextFill(blue);
55 55
         btnWithdraw.setDisable(true);
56 56
         btnWithdraw.setOnAction(e -> {
57
-            int amount = Integer.parseInt(setWithdrawField.getText());
57
+            float amount = Float.parseFloat(setWithdrawField.getText());
58 58
             cashMachine.withdraw(amount);
59 59
 
60 60
             areaInfo.setText(cashMachine.toString());

+ 5
- 5
src/main/java/rocks/zipcode/atm/bank/Account.java Просмотреть файл

@@ -15,11 +15,11 @@ public abstract class Account {
15 15
         return accountData;
16 16
     }
17 17
 
18
-    public void deposit(int amount) {
18
+    public void deposit(float amount) {
19 19
         updateBalance(getBalance() + amount);
20 20
     }
21 21
 
22
-    public boolean withdraw(int amount) {
22
+    public boolean withdraw(float amount) {
23 23
         if (canWithdraw(amount)) {
24 24
             updateBalance(getBalance() - amount);
25 25
             return true;
@@ -28,15 +28,15 @@ public abstract class Account {
28 28
         }
29 29
     }
30 30
 
31
-    protected boolean canWithdraw(int amount) {
31
+    protected boolean canWithdraw(float amount) {
32 32
         return getBalance() >= amount;
33 33
     }
34 34
 
35
-    public int getBalance() {
35
+    public float getBalance() {
36 36
         return accountData.getBalance();
37 37
     }
38 38
 
39
-    private void updateBalance(int newBalance) {
39
+    private void updateBalance(float newBalance) {
40 40
         accountData = new AccountData(accountData.getId(), accountData.getName(), accountData.getEmail(),
41 41
                 newBalance);
42 42
     }

+ 3
- 3
src/main/java/rocks/zipcode/atm/bank/AccountData.java Просмотреть файл

@@ -9,9 +9,9 @@ public final class AccountData {
9 9
     private final String name;
10 10
     private final String email;
11 11
 
12
-    private final int balance;
12
+    private final float balance;
13 13
 
14
-    AccountData(int id, String name, String email, int balance) {
14
+    AccountData(int id, String name, String email, float balance) {
15 15
         this.id = id;
16 16
         this.name = name;
17 17
         this.email = email;
@@ -30,7 +30,7 @@ public final class AccountData {
30 30
         return email;
31 31
     }
32 32
 
33
-    public int getBalance() {
33
+    public float getBalance() {
34 34
         return balance;
35 35
     }
36 36
 

+ 2
- 2
src/main/java/rocks/zipcode/atm/bank/Bank.java Просмотреть файл

@@ -41,14 +41,14 @@ public class Bank {
41 41
         }
42 42
     }
43 43
 
44
-    public ActionResult<AccountData> deposit(AccountData accountData, int amount) {
44
+    public ActionResult<AccountData> deposit(AccountData accountData, float amount) {
45 45
         Account account = accounts.get(accountData.getId());
46 46
         account.deposit(amount);
47 47
 
48 48
         return ActionResult.success(account.getAccountData());
49 49
     }
50 50
 
51
-    public ActionResult<AccountData> withdraw(AccountData accountData, int amount) {
51
+    public ActionResult<AccountData> withdraw(AccountData accountData, float amount) {
52 52
         Account account = accounts.get(accountData.getId());
53 53
         boolean ok = account.withdraw(amount);
54 54
 

+ 1
- 1
src/main/java/rocks/zipcode/atm/bank/PremiumAccount.java Просмотреть файл

@@ -12,7 +12,7 @@ public class PremiumAccount extends Account {
12 12
     }
13 13
 
14 14
     @Override
15
-    protected boolean canWithdraw(int amount) {
15
+    protected boolean canWithdraw(float amount) {
16 16
         return getBalance() + OVERDRAFT_LIMIT >= amount;
17 17
     }
18 18
 }