From 23888a81f474d2f0139bc01cbb6c28793c84df61 Mon Sep 17 00:00:00 2001 From: FedericaCaleffi <73947666+FedericaCaleffi@users.noreply.github.com> Date: Mon, 27 Nov 2023 21:27:14 +0100 Subject: [PATCH 1/7] created code package --- src/{ => code}/ATM.java | 1 + src/{ => code}/ATMCaseStudy.java | 1 + src/{ => code}/Account.java | 1 + src/{ => code}/BalanceInquiry.java | 1 + src/{ => code}/BankDatabase.java | 1 + src/{ => code}/CashDispenser.java | 1 + src/{ => code}/Deposit.java | 1 + src/{ => code}/DepositSlot.java | 1 + src/{ => code}/Keypad.java | 1 + src/{ => code}/Screen.java | 1 + src/{ => code}/Transaction.java | 1 + src/{ => code}/Withdrawal.java | 1 + 12 files changed, 12 insertions(+) rename src/{ => code}/ATM.java (99%) rename src/{ => code}/ATMCaseStudy.java (98%) rename src/{ => code}/Account.java (99%) rename src/{ => code}/BalanceInquiry.java (99%) rename src/{ => code}/BankDatabase.java (99%) rename src/{ => code}/CashDispenser.java (99%) rename src/{ => code}/Deposit.java (99%) rename src/{ => code}/DepositSlot.java (99%) rename src/{ => code}/Keypad.java (99%) rename src/{ => code}/Screen.java (99%) rename src/{ => code}/Transaction.java (99%) rename src/{ => code}/Withdrawal.java (99%) diff --git a/src/ATM.java b/src/code/ATM.java similarity index 99% rename from src/ATM.java rename to src/code/ATM.java index aa3d187..fcf180d 100644 --- a/src/ATM.java +++ b/src/code/ATM.java @@ -1,3 +1,4 @@ +package code; // ATM.java // Represents an automated teller machine diff --git a/src/ATMCaseStudy.java b/src/code/ATMCaseStudy.java similarity index 98% rename from src/ATMCaseStudy.java rename to src/code/ATMCaseStudy.java index b9033bd..b4b92d9 100644 --- a/src/ATMCaseStudy.java +++ b/src/code/ATMCaseStudy.java @@ -1,3 +1,4 @@ +package code; // ATMCaseStudy.java // Driver program for the ATM case study diff --git a/src/Account.java b/src/code/Account.java similarity index 99% rename from src/Account.java rename to src/code/Account.java index c308eca..1907165 100644 --- a/src/Account.java +++ b/src/code/Account.java @@ -1,3 +1,4 @@ +package code; // Account.java // Represents a bank account diff --git a/src/BalanceInquiry.java b/src/code/BalanceInquiry.java similarity index 99% rename from src/BalanceInquiry.java rename to src/code/BalanceInquiry.java index d45fa6a..884f3f1 100644 --- a/src/BalanceInquiry.java +++ b/src/code/BalanceInquiry.java @@ -1,3 +1,4 @@ +package code; // BalanceInquiry.java // Represents a balance inquiry ATM transaction diff --git a/src/BankDatabase.java b/src/code/BankDatabase.java similarity index 99% rename from src/BankDatabase.java rename to src/code/BankDatabase.java index 3978497..7e4a5a6 100644 --- a/src/BankDatabase.java +++ b/src/code/BankDatabase.java @@ -1,3 +1,4 @@ +package code; // BankDatabase.java // Represents the bank account information database diff --git a/src/CashDispenser.java b/src/code/CashDispenser.java similarity index 99% rename from src/CashDispenser.java rename to src/code/CashDispenser.java index b249faf..3e332f3 100644 --- a/src/CashDispenser.java +++ b/src/code/CashDispenser.java @@ -1,3 +1,4 @@ +package code; // CashDispenser.java // Represents the cash dispenser of the ATM diff --git a/src/Deposit.java b/src/code/Deposit.java similarity index 99% rename from src/Deposit.java rename to src/code/Deposit.java index 916ef70..ac2705d 100644 --- a/src/Deposit.java +++ b/src/code/Deposit.java @@ -1,3 +1,4 @@ +package code; // Deposit.java // Represents a deposit ATM transaction diff --git a/src/DepositSlot.java b/src/code/DepositSlot.java similarity index 99% rename from src/DepositSlot.java rename to src/code/DepositSlot.java index 64e02c2..d860a09 100644 --- a/src/DepositSlot.java +++ b/src/code/DepositSlot.java @@ -1,3 +1,4 @@ +package code; // DepositSlot.java // Represents the deposit slot of the ATM diff --git a/src/Keypad.java b/src/code/Keypad.java similarity index 99% rename from src/Keypad.java rename to src/code/Keypad.java index cd035c7..34ade75 100644 --- a/src/Keypad.java +++ b/src/code/Keypad.java @@ -1,3 +1,4 @@ +package code; // Keypad.java // Represents the keypad of the ATM import java.util.Scanner; // program uses Scanner to obtain user input diff --git a/src/Screen.java b/src/code/Screen.java similarity index 99% rename from src/Screen.java rename to src/code/Screen.java index 44d3f30..5949126 100644 --- a/src/Screen.java +++ b/src/code/Screen.java @@ -1,3 +1,4 @@ +package code; // Screen.java // Represents the screen of the ATM diff --git a/src/Transaction.java b/src/code/Transaction.java similarity index 99% rename from src/Transaction.java rename to src/code/Transaction.java index 508fea8..2138610 100644 --- a/src/Transaction.java +++ b/src/code/Transaction.java @@ -1,3 +1,4 @@ +package code; // Transaction.java // Abstract superclass Transaction represents an ATM transaction diff --git a/src/Withdrawal.java b/src/code/Withdrawal.java similarity index 99% rename from src/Withdrawal.java rename to src/code/Withdrawal.java index 6e0af62..a2e6fa3 100644 --- a/src/Withdrawal.java +++ b/src/code/Withdrawal.java @@ -1,3 +1,4 @@ +package code; // Withdrawal.java // Represents a withdrawal ATM transaction From 2153767a927178d02b9be71585db1e6beccc0c7b Mon Sep 17 00:00:00 2001 From: FedericaCaleffi <73947666+FedericaCaleffi@users.noreply.github.com> Date: Mon, 27 Nov 2023 21:29:28 +0100 Subject: [PATCH 2/7] added class euro --- bin/code/Euro.class | Bin 0 -> 1612 bytes src/code/Euro.java | 48 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 bin/code/Euro.class create mode 100644 src/code/Euro.java diff --git a/bin/code/Euro.class b/bin/code/Euro.class new file mode 100644 index 0000000000000000000000000000000000000000..e6672d2fa4c5c371713c7e0d54b964c918fc85c0 GIT binary patch literal 1612 zcma)5O>Yxd6g|&ldt%424K#q+msmS7u0;UNogAlECQ~es~7tz89bh`X2y~D z3+C1zwWXzcMn7mjfXS$RI0FYCE2~J{qj3;HF%03AnfIcct5rfuqmKWjb1OLV?Nl zrmz-S6b169t2`>2T8?D5e@zZIN@|PsPWJL`LrS4Neizx>s){;^c*>&uOy~~=Qee6^ z245eG^AvoffP!m((p5hQ6hA1wBQP;=JUX< zdCfqFfAsw*q|D(p6|MQbFpo3%+QwG`)h!K$`Be;>;?Yt|a?IDuG@uDk3+s#VJ3^aRe* zU2(`PLg81>Q^A5O!%&4bxFN^3HM)~@8y5s-cTXja=@W;!3>HTwkkTv6Xo9gFKXW|& z$y>eZ)y6C2=W_S|!Jfuk1yjyp`2wX!C?+Sx(=+B-*u&?iF%ti6#K|LveSA)15=Suw zyT&MH1Zg(spjBTHT#?Pp}+0OJx;?^tHp5a~1sp@mKJsfAsoEG@jGg*A>>Fw_4l z(U6KY6wPaDD5J<5&AXpnYTOOp5= 0) { + valore = euro*100 + cent; + } else { + valore = euro*100 - cent; + } + } + + public Euro(double d) { + valore = (long)(d*100); + } + + public long getValore() { + return valore; + } + + public Euro somma(Euro e) { + this.valore = this.valore + e.getValore(); + return this; + } + + public Euro sottrai(Euro e) { + this.valore = this.valore - e.getValore(); + return this; + } + + public boolean ugualeA(Euro e){ + if (valore == e.getValore()) + return true; + else return false; + } + + public boolean minoreDi(Euro e){ + if (valore <= e.getValore()) + return true; + else return false; + } + + public String stampa(){ + return (double)valore/100 +" euro"; + } +} \ No newline at end of file From 0f8b4fb5e9e1dd3ca1c3255ab8d92169ba95c014 Mon Sep 17 00:00:00 2001 From: FedericaCaleffi <73947666+FedericaCaleffi@users.noreply.github.com> Date: Mon, 27 Nov 2023 21:46:24 +0100 Subject: [PATCH 3/7] split classes into different packages --- src/{code => Business_logic}/ATMCaseStudy.java | 4 +++- src/{code => Business_logic}/DepositSlot.java | 2 +- src/{code => Business_logic}/Euro.java | 2 +- src/{code => Business_logic}/Transaction.java | 5 ++++- src/{code => Database}/Account.java | 2 +- src/{code => Database}/BankDatabase.java | 2 +- src/{code => GUI}/ATM.java | 6 +++++- src/{code => GUI}/BalanceInquiry.java | 5 ++++- src/{code => GUI}/CashDispenser.java | 2 +- src/{code => GUI}/Deposit.java | 6 +++++- src/{code => GUI}/Keypad.java | 2 +- src/{code => GUI}/Screen.java | 2 +- src/{code => GUI}/Withdrawal.java | 5 ++++- 13 files changed, 32 insertions(+), 13 deletions(-) rename src/{code => Business_logic}/ATMCaseStudy.java (97%) rename src/{code => Business_logic}/DepositSlot.java (98%) rename src/{code => Business_logic}/Euro.java (96%) rename src/{code => Business_logic}/Transaction.java (96%) rename src/{code => Database}/Account.java (99%) rename src/{code => Database}/BankDatabase.java (99%) rename src/{code => GUI}/ATM.java (98%) rename src/{code => GUI}/BalanceInquiry.java (96%) rename src/{code => GUI}/CashDispenser.java (99%) rename src/{code => GUI}/Deposit.java (97%) rename src/{code => GUI}/Keypad.java (99%) rename src/{code => GUI}/Screen.java (99%) rename src/{code => GUI}/Withdrawal.java (98%) diff --git a/src/code/ATMCaseStudy.java b/src/Business_logic/ATMCaseStudy.java similarity index 97% rename from src/code/ATMCaseStudy.java rename to src/Business_logic/ATMCaseStudy.java index b4b92d9..15b839f 100644 --- a/src/code/ATMCaseStudy.java +++ b/src/Business_logic/ATMCaseStudy.java @@ -1,7 +1,9 @@ -package code; +package Business_logic; // ATMCaseStudy.java // Driver program for the ATM case study +import GUI.ATM; + public class ATMCaseStudy { // main method creates and runs the ATM diff --git a/src/code/DepositSlot.java b/src/Business_logic/DepositSlot.java similarity index 98% rename from src/code/DepositSlot.java rename to src/Business_logic/DepositSlot.java index d860a09..f2c8e18 100644 --- a/src/code/DepositSlot.java +++ b/src/Business_logic/DepositSlot.java @@ -1,4 +1,4 @@ -package code; +package Business_logic; // DepositSlot.java // Represents the deposit slot of the ATM diff --git a/src/code/Euro.java b/src/Business_logic/Euro.java similarity index 96% rename from src/code/Euro.java rename to src/Business_logic/Euro.java index b12ea4c..26da910 100644 --- a/src/code/Euro.java +++ b/src/Business_logic/Euro.java @@ -1,4 +1,4 @@ -package code; +package Business_logic; public class Euro { diff --git a/src/code/Transaction.java b/src/Business_logic/Transaction.java similarity index 96% rename from src/code/Transaction.java rename to src/Business_logic/Transaction.java index 2138610..89d21b5 100644 --- a/src/code/Transaction.java +++ b/src/Business_logic/Transaction.java @@ -1,7 +1,10 @@ -package code; +package Business_logic; // Transaction.java // Abstract superclass Transaction represents an ATM transaction +import Database.BankDatabase; +import GUI.Screen; + public abstract class Transaction { private int accountNumber; // indicates account involved diff --git a/src/code/Account.java b/src/Database/Account.java similarity index 99% rename from src/code/Account.java rename to src/Database/Account.java index 1907165..9f4a78c 100644 --- a/src/code/Account.java +++ b/src/Database/Account.java @@ -1,4 +1,4 @@ -package code; +package Database; // Account.java // Represents a bank account diff --git a/src/code/BankDatabase.java b/src/Database/BankDatabase.java similarity index 99% rename from src/code/BankDatabase.java rename to src/Database/BankDatabase.java index 7e4a5a6..b751e3e 100644 --- a/src/code/BankDatabase.java +++ b/src/Database/BankDatabase.java @@ -1,4 +1,4 @@ -package code; +package Database; // BankDatabase.java // Represents the bank account information database diff --git a/src/code/ATM.java b/src/GUI/ATM.java similarity index 98% rename from src/code/ATM.java rename to src/GUI/ATM.java index fcf180d..88fea8a 100644 --- a/src/code/ATM.java +++ b/src/GUI/ATM.java @@ -1,7 +1,11 @@ -package code; +package GUI; // ATM.java // Represents an automated teller machine +import Business_logic.DepositSlot; +import Business_logic.Transaction; +import Database.BankDatabase; + public class ATM { private boolean userAuthenticated; // whether user is authenticated diff --git a/src/code/BalanceInquiry.java b/src/GUI/BalanceInquiry.java similarity index 96% rename from src/code/BalanceInquiry.java rename to src/GUI/BalanceInquiry.java index 884f3f1..b8de559 100644 --- a/src/code/BalanceInquiry.java +++ b/src/GUI/BalanceInquiry.java @@ -1,7 +1,10 @@ -package code; +package GUI; // BalanceInquiry.java // Represents a balance inquiry ATM transaction +import Business_logic.Transaction; +import Database.BankDatabase; + public class BalanceInquiry extends Transaction { // BalanceInquiry constructor diff --git a/src/code/CashDispenser.java b/src/GUI/CashDispenser.java similarity index 99% rename from src/code/CashDispenser.java rename to src/GUI/CashDispenser.java index 3e332f3..0687b40 100644 --- a/src/code/CashDispenser.java +++ b/src/GUI/CashDispenser.java @@ -1,4 +1,4 @@ -package code; +package GUI; // CashDispenser.java // Represents the cash dispenser of the ATM diff --git a/src/code/Deposit.java b/src/GUI/Deposit.java similarity index 97% rename from src/code/Deposit.java rename to src/GUI/Deposit.java index ac2705d..6fd3785 100644 --- a/src/code/Deposit.java +++ b/src/GUI/Deposit.java @@ -1,7 +1,11 @@ -package code; +package GUI; // Deposit.java // Represents a deposit ATM transaction +import Business_logic.DepositSlot; +import Business_logic.Transaction; +import Database.BankDatabase; + public class Deposit extends Transaction { private double amount; // amount to deposit diff --git a/src/code/Keypad.java b/src/GUI/Keypad.java similarity index 99% rename from src/code/Keypad.java rename to src/GUI/Keypad.java index 34ade75..6833a46 100644 --- a/src/code/Keypad.java +++ b/src/GUI/Keypad.java @@ -1,4 +1,4 @@ -package code; +package GUI; // Keypad.java // Represents the keypad of the ATM import java.util.Scanner; // program uses Scanner to obtain user input diff --git a/src/code/Screen.java b/src/GUI/Screen.java similarity index 99% rename from src/code/Screen.java rename to src/GUI/Screen.java index 5949126..fd08c11 100644 --- a/src/code/Screen.java +++ b/src/GUI/Screen.java @@ -1,4 +1,4 @@ -package code; +package GUI; // Screen.java // Represents the screen of the ATM diff --git a/src/code/Withdrawal.java b/src/GUI/Withdrawal.java similarity index 98% rename from src/code/Withdrawal.java rename to src/GUI/Withdrawal.java index a2e6fa3..a0bc2fb 100644 --- a/src/code/Withdrawal.java +++ b/src/GUI/Withdrawal.java @@ -1,7 +1,10 @@ -package code; +package GUI; // Withdrawal.java // Represents a withdrawal ATM transaction +import Business_logic.Transaction; +import Database.BankDatabase; + public class Withdrawal extends Transaction { private int amount; // amount to withdraw From af091231dc0abe3e7cbcb1b90a7f640dfd305bfa Mon Sep 17 00:00:00 2001 From: FedericaCaleffi <73947666+FedericaCaleffi@users.noreply.github.com> Date: Tue, 28 Nov 2023 22:59:15 +0100 Subject: [PATCH 4/7] added testeuro --- src/test/TestEuro.java | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/test/TestEuro.java diff --git a/src/test/TestEuro.java b/src/test/TestEuro.java new file mode 100644 index 0000000..5fdbf48 --- /dev/null +++ b/src/test/TestEuro.java @@ -0,0 +1,41 @@ +import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.*; + +class EuroTest { + + @Test + void testSomma() { + Euro euro1 = new Euro(100); + Euro euro2 = new Euro(200); + Euro result = euro1.somma(euro2); + assertEquals(300, result.getValore()); + } + + @Test + void testSottrai() { + Euro euro1 = new Euro(200); + Euro euro2 = new Euro(100); + Euro result = euro1.sottrai(euro2); + assertEquals(100, result.getValore()); + } + + @Test + void testUgualeA() { + Euro euro1 = new Euro(100); + Euro euro2 = new Euro(100); + assertTrue(euro1.ugualeA(euro2)); + } + + @Test + void testMinoreDi() { + Euro euro1 = new Euro(100); + Euro euro2 = new Euro(200); + assertTrue(euro1.minoreDi(euro2)); + } + + @Test + void testStampa() { + Euro euro = new Euro(100); + assertEquals("1.0 euro", euro.stampa()); + } +} \ No newline at end of file From 9393a2749551b539e0dcca8dbc25eb3ec676ba32 Mon Sep 17 00:00:00 2001 From: FedericaCaleffi <73947666+FedericaCaleffi@users.noreply.github.com> Date: Tue, 28 Nov 2023 23:16:46 +0100 Subject: [PATCH 5/7] changed primitive type double to euro --- src/Database/Account.java | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/src/Database/Account.java b/src/Database/Account.java index 9f4a78c..d77339d 100644 --- a/src/Database/Account.java +++ b/src/Database/Account.java @@ -2,16 +2,18 @@ // Account.java // Represents a bank account +import Business_logic.Euro; + public class Account { private int accountNumber; // account number private int pin; // PIN for authentication - private double availableBalance; // funds available for withdrawal - private double totalBalance; // funds available + pending deposits + private Euro availableBalance; // funds available for withdrawal + private Euro totalBalance; // funds available + pending deposits // Account constructor initializes attributes public Account( int theAccountNumber, int thePIN, - double theAvailableBalance, double theTotalBalance ) + Euro theAvailableBalance, Euro theTotalBalance ) { accountNumber = theAccountNumber; pin = thePIN; @@ -29,28 +31,28 @@ public boolean validatePIN( int userPIN ) } // end method validatePIN // returns available balance - public double getAvailableBalance() + public Euro getAvailableBalance() { return availableBalance; } // end getAvailableBalance // returns the total balance - public double getTotalBalance() + public Euro getTotalBalance() { return totalBalance; } // end method getTotalBalance // credits an amount to the account - public void credit( double amount ) + public void credit( Euro amount ) { - totalBalance += amount; // add to total balance + totalBalance.somma(amount); // add to total balance } // end method credit // debits an amount from the account - public void debit( double amount ) + public void debit( Euro amount ) { - availableBalance -= amount; // subtract from available balance - totalBalance -= amount; // subtract from total balance + availableBalance.sottrai(amount); // subtract from available balance + totalBalance.sottrai(amount); // subtract from total balance } // end method debit // returns account number From ed845c9df8019071b5b79cb8a40520ff57f16fcf Mon Sep 17 00:00:00 2001 From: FedericaCaleffi <73947666+FedericaCaleffi@users.noreply.github.com> Date: Tue, 28 Nov 2023 23:34:47 +0100 Subject: [PATCH 6/7] primitive double changed into euro --- src/Database/BankDatabase.java | 14 ++++++++------ src/GUI/BalanceInquiry.java | 5 +++-- src/GUI/Deposit.java | 11 ++++++----- src/GUI/Screen.java | 4 +++- src/GUI/Withdrawal.java | 7 ++++--- 5 files changed, 24 insertions(+), 17 deletions(-) diff --git a/src/Database/BankDatabase.java b/src/Database/BankDatabase.java index b751e3e..b002579 100644 --- a/src/Database/BankDatabase.java +++ b/src/Database/BankDatabase.java @@ -2,6 +2,8 @@ // BankDatabase.java // Represents the bank account information database +import Business_logic.Euro; + public class BankDatabase { private Account accounts[]; // array of Accounts @@ -10,8 +12,8 @@ public class BankDatabase public BankDatabase() { accounts = new Account[ 2 ]; // just 2 accounts for testing - accounts[ 0 ] = new Account( 12345, 54321, 1000.0, 1200.0 ); - accounts[ 1 ] = new Account( 98765, 56789, 200.0, 200.0 ); + accounts[ 0 ] = new Account( 12345, 54321, new Euro(1000.0), new Euro(1200.0) ); + accounts[ 1 ] = new Account( 98765, 56789,new Euro(200.0), new Euro(200.0 )); } // end no-argument BankDatabase constructor // retrieve Account object containing specified account number @@ -43,25 +45,25 @@ public boolean authenticateUser( int userAccountNumber, int userPIN ) } // end method authenticateUser // return available balance of Account with specified account number - public double getAvailableBalance( int userAccountNumber ) + public Euro getAvailableBalance( int userAccountNumber ) { return getAccount( userAccountNumber ).getAvailableBalance(); } // end method getAvailableBalance // return total balance of Account with specified account number - public double getTotalBalance( int userAccountNumber ) + public Euro getTotalBalance( int userAccountNumber ) { return getAccount( userAccountNumber ).getTotalBalance(); } // end method getTotalBalance // credit an amount to Account with specified account number - public void credit( int userAccountNumber, double amount ) + public void credit( int userAccountNumber, Euro amount ) { getAccount( userAccountNumber ).credit( amount ); } // end method credit // debit an amount from of Account with specified account number - public void debit( int userAccountNumber, double amount ) + public void debit( int userAccountNumber, Euro amount ) { getAccount( userAccountNumber ).debit( amount ); } // end method debit diff --git a/src/GUI/BalanceInquiry.java b/src/GUI/BalanceInquiry.java index b8de559..3c99221 100644 --- a/src/GUI/BalanceInquiry.java +++ b/src/GUI/BalanceInquiry.java @@ -2,6 +2,7 @@ // BalanceInquiry.java // Represents a balance inquiry ATM transaction +import Business_logic.Euro; import Business_logic.Transaction; import Database.BankDatabase; @@ -22,11 +23,11 @@ public void execute() Screen screen = getScreen(); // get the available balance for the account involved - double availableBalance = + Euro availableBalance = bankDatabase.getAvailableBalance( getAccountNumber() ); // get the total balance for the account involved - double totalBalance = + Euro totalBalance = bankDatabase.getTotalBalance( getAccountNumber() ); // display the balance information on the screen diff --git a/src/GUI/Deposit.java b/src/GUI/Deposit.java index 6fd3785..0d1cbb0 100644 --- a/src/GUI/Deposit.java +++ b/src/GUI/Deposit.java @@ -3,12 +3,13 @@ // Represents a deposit ATM transaction import Business_logic.DepositSlot; +import Business_logic.Euro; import Business_logic.Transaction; import Database.BankDatabase; public class Deposit extends Transaction { - private double amount; // amount to deposit + private Euro amount; // amount to deposit private Keypad keypad; // reference to keypad private DepositSlot depositSlot; // reference to deposit slot private final static int CANCELED = 0; // constant for cancel option @@ -35,7 +36,7 @@ public void execute() amount = promptForDepositAmount(); // get deposit amount from user // check whether user entered a deposit amount or canceled - if ( amount != CANCELED ) + if (amount.getValore() != CANCELED ) { // request deposit envelope containing specified amount screen.displayMessage( @@ -70,7 +71,7 @@ public void execute() } // end method execute // prompt user to enter a deposit amount in cents - private double promptForDepositAmount() + private Euro promptForDepositAmount() { Screen screen = getScreen(); // get reference to screen @@ -81,10 +82,10 @@ private double promptForDepositAmount() // check whether the user canceled or entered a valid amount if ( input == CANCELED ) - return CANCELED; + return new Euro(( double ) CANCELED); else { - return ( double ) input / 100; // return dollar amount + return new Euro(( double ) input / 100); // return dollar amount } // end else } // end method promptForDepositAmount } // end class Deposit diff --git a/src/GUI/Screen.java b/src/GUI/Screen.java index fd08c11..4f0990e 100644 --- a/src/GUI/Screen.java +++ b/src/GUI/Screen.java @@ -2,6 +2,8 @@ // Screen.java // Represents the screen of the ATM +import Business_logic.Euro; + public class Screen { // displays a message without a carriage return @@ -17,7 +19,7 @@ public void displayMessageLine( String message ) } // end method displayMessageLine // display a dollar amount - public void displayDollarAmount( double amount ) + public void displayDollarAmount( Euro amount ) { System.out.printf( "$%,.2f", amount ); } // end method displayDollarAmount diff --git a/src/GUI/Withdrawal.java b/src/GUI/Withdrawal.java index a0bc2fb..2208487 100644 --- a/src/GUI/Withdrawal.java +++ b/src/GUI/Withdrawal.java @@ -2,6 +2,7 @@ // Withdrawal.java // Represents a withdrawal ATM transaction +import Business_logic.Euro; import Business_logic.Transaction; import Database.BankDatabase; @@ -31,7 +32,7 @@ public Withdrawal( int userAccountNumber, Screen atmScreen, public void execute() { boolean cashDispensed = false; // cash was not dispensed yet - double availableBalance; // amount available for withdrawal + Euro availableBalance; // amount available for withdrawal // get references to bank database and screen BankDatabase bankDatabase = getBankDatabase(); @@ -51,13 +52,13 @@ public void execute() bankDatabase.getAvailableBalance( getAccountNumber() ); // check whether the user has enough money in the account - if ( amount <= availableBalance ) + if ( amount <= availableBalance.getValore() ) { // check whether the cash dispenser has enough money if ( cashDispenser.isSufficientCashAvailable( amount ) ) { // update the account involved to reflect withdrawal - bankDatabase.debit( getAccountNumber(), amount ); + bankDatabase.debit( getAccountNumber(), new Euro(amount) ); cashDispenser.dispenseCash( amount ); // dispense cash cashDispensed = true; // cash was dispensed From 564cbd97ec9d1c2e666eb5e81438a0a356c8e1e7 Mon Sep 17 00:00:00 2001 From: FedericaCaleffi <73947666+FedericaCaleffi@users.noreply.github.com> Date: Tue, 28 Nov 2023 23:44:22 +0100 Subject: [PATCH 7/7] added componenti --- componenti.txt | 1 + 1 file changed, 1 insertion(+) create mode 100644 componenti.txt diff --git a/componenti.txt b/componenti.txt new file mode 100644 index 0000000..77290e4 --- /dev/null +++ b/componenti.txt @@ -0,0 +1 @@ +Federica Caleffi \ No newline at end of file