|
| 1 | +package com.premaseem.ATMmoneyDispenser; |
| 2 | + |
| 3 | +/* |
| 4 | +@author: Aseem Jain |
| 5 | +@title: Design Patterns with Java 9 |
| 6 | +@link: https://premaseem.wordpress.com/category/computers/design-patterns/ |
| 7 | +*/ |
| 8 | + |
| 9 | +import java.util.Scanner; |
| 10 | + |
| 11 | +public class Client { |
| 12 | + |
| 13 | + public static void main(String[] args) { |
| 14 | + |
| 15 | + System.out.println("Welcome to ATM Money dispenser program designed using Chain of Responsibility"); |
| 16 | + Scanner scan = new Scanner(System.in); |
| 17 | + |
| 18 | + MoneyChainHandler thousandollarHandler_1000 = new ThousandollarHandler_1000(1000); |
| 19 | + MoneyChainHandler FiveHundredollarHandler_500 = new FiveHundredollarHandler_500(500); |
| 20 | + MoneyChainHandler HundrendollarHandler_100 = new HundrenDollarHandler_100(100); |
| 21 | + MoneyChainHandler FiftydollarHandler_50 = new FiftyDollarHandler_50(50); |
| 22 | + MoneyChainHandler TendollarHandler_10 = new TenDollarHandler_10(10); |
| 23 | + MoneyChainHandler FivedollarHandler_5 = new FiveDollarHandler_5(5); |
| 24 | + MoneyChainHandler TwodollarHandler_2 = new TwoDollarHandler_2(2); |
| 25 | + MoneyChainHandler OnedollarHandler_1 = new OneDollarHandler_1(1); |
| 26 | + |
| 27 | + // Setting up the change |
| 28 | + thousandollarHandler_1000.setNextHandler(FiveHundredollarHandler_500); |
| 29 | + FiveHundredollarHandler_500.setNextHandler(HundrendollarHandler_100); |
| 30 | + HundrendollarHandler_100.setNextHandler(FiftydollarHandler_50); |
| 31 | + FiftydollarHandler_50.setNextHandler(TendollarHandler_10); |
| 32 | + TendollarHandler_10.setNextHandler(FivedollarHandler_5); |
| 33 | + FivedollarHandler_5.setNextHandler(TwodollarHandler_2); |
| 34 | + TwodollarHandler_2.setNextHandler(OnedollarHandler_1); |
| 35 | + |
| 36 | + String repeatRunFlag = "y"; |
| 37 | + while (!repeatRunFlag.equalsIgnoreCase("no")) { |
| 38 | + System.out.println("Please enter amount you want to withdraw eg 3450 "); |
| 39 | + int choice = scan.nextInt(); |
| 40 | + thousandollarHandler_1000.handler(choice); |
| 41 | + |
| 42 | + System.out.println("============================="); |
| 43 | + |
| 44 | + System.out.println("Press No to Exit and any other character to repeat .... "); |
| 45 | + try { |
| 46 | + repeatRunFlag = scan.next(); |
| 47 | + } catch (Exception e) { |
| 48 | + repeatRunFlag = "n"; |
| 49 | + } |
| 50 | + } |
| 51 | + |
| 52 | + System.out.println("\n $$$$$$$$$$$$$$$$$$$$ Thanks by Prem Aseem $$$$$$$$$$$$$$$$$$$$$$ \n "); |
| 53 | + System.out.println("\n $$$$$$$$$$$$$$$$$$$$$ www.premaseem.me $$$$$$$$$$$$$$$$$$$$$$ \n "); |
| 54 | + |
| 55 | + } |
| 56 | +} |
0 commit comments