/** * User-Interface untuk TicketMachine. * Dibuat untuk input uang dan output harga tiket serta mencetak tiket. * * Benito Dannes * 29 February 2017 */ import java.util.Scanner; public class UITicketMachine { public static void main (String args[]) { Scanner scan = new Scanner (System.in); int cost, menu; int i, n; cost = 20; /*** * Pilihan ditampilkan menggunakan switch case. Selanjutnya menggunakan while. */ TicketMachine ticket = new TicketMachine (cost); System.out.println ("1. Get Price"); // Menampilkan harga tiket System.out.println ("2. Get Balance"); // Menampilkan jumlah uang yang pengguna masukkan, atau sisa setelah transaksi System.out.println ("3. Insert Money"); // Memasukkan uang kedalam mesin System.out.println ("4. Print Ticket"); // Mencetak tiket, mengurangi uang pengguna didalam mesin System.out.println ("5. End Transaction"); // Mengakhiri transaksi, mengeluarkan uang sisa pelanggan System.out.println ("0. Turn off machine"); // Mematikan mesin. Mengakhiri sesi. System.out.print ("Insert input number to continue: "); menu = scan.nextInt(); while (menu != 0) { switch (menu) { case 1: // Get Price System.out.println(); cost = ticket.getPrice(); System.out.println ("The ticket price is " + cost + " pounds."); break; case 2: // Get Balance System.out.println(); System.out.println ("Money in machine " + ticket.getBalance() + " pounds."); break; case 3: // Insert Money System.out.println(); System.out.print ("Insert money amount: "); int money = scan.nextInt(); ticket.insertMoney (money); break; case 4: // Print Ticket System.out.println(); System.out.print ("Insert amount of ticket: "); n = scan.nextInt(); for (i = 1; i <= n; i++) { ticket.printTicket(); if (i != n) { System.out.println ("=====CUT HERE====="); System.out.println(); } } break; case 5: // End Transaction System.out.println(); System.out.println("Thank you for using our service!"); System.out.println("Please withdraw your remaining money: " + ticket.refundBalance() + " pounds"); break; } System.out.println(); System.out.println ("1. Get Price"); System.out.println ("2. Get Balance"); System.out.println ("3. Insert Money"); System.out.println ("4. Print Ticket"); System.out.println ("5. End Transaction"); System.out.println ("0. Turn off machine"); System.out.print ("Insert input number to continue: "); menu = scan.nextInt(); } /*** * Mesin dimatikan. Sesi diakhiri dan jumlah total uang yang diperoleh pada sesi itu akan ditampilkan. */ System.out.println("Shutting down systems..."); System.out.println("Total income this session: " + ticket.totalIncome() + " pounds"); } }