diff --git a/solutions/java/src/atm/ATM.java b/solutions/java/src/atm/ATM.java index f305b1cb..3a305005 100644 --- a/solutions/java/src/atm/ATM.java +++ b/solutions/java/src/atm/ATM.java @@ -2,6 +2,7 @@ import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; +import java.util.Scanner; import java.util.concurrent.atomic.AtomicLong; public class ATM { @@ -15,7 +16,11 @@ public ATM(BankingService bankingService, CashDispenser cashDispenser) { } public void authenticateUser(Card card) { - boolean isAuthenticated = bankingService.authenticate(card.getCardNumber(), card.getPin()); + Scanner scanner = new Scanner(System.in); + System.out.print("Enter PIN for card " + card.getCardNumber() + ": "); + String enteredPin = scanner.nextLine(); + + boolean isAuthenticated = bankingService.authenticate(card.getCardNumber(), enteredPin); if (isAuthenticated) { System.out.println("Authentication successful."); } else { diff --git a/solutions/java/src/atm/ATMDemo.java b/solutions/java/src/atm/ATMDemo.java index 69dca92b..1b4f2c84 100644 --- a/solutions/java/src/atm/ATMDemo.java +++ b/solutions/java/src/atm/ATMDemo.java @@ -11,7 +11,8 @@ public static void run() { bankingService.createAccount("9876543210", 500.0); // Perform ATM operations - Card card = new Card("1234567890", "1234"); + bankingService.linkCardToAccount("Card1234567890", "1234", "1234567890"); + Card card = bankingService.getCard("Card1234567890"); atm.authenticateUser(card); double balance = atm.checkBalance("1234567890"); diff --git a/solutions/java/src/atm/README.md b/solutions/java/src/atm/README.md index dcc14f9d..0227b29e 100644 --- a/solutions/java/src/atm/README.md +++ b/solutions/java/src/atm/README.md @@ -76,7 +76,8 @@ CashDispenser cashDispenser = new CashDispenser(10000); ATM atm = new ATM(bankingService, cashDispenser); bankingService.createAccount("1234567890", 1000.0); -Card card = new Card("1234567890", "1234"); +bankingService.linkCardToAccount("Card1234567890", "1234", "1234567890"); +Card card = bankingService.getCard("Card1234567890"); atm.authenticateUser(card); double balance = atm.checkBalance("1234567890");