Hello everyone, I\'m actually working on a fast food order program. So far my pr
ID: 3792802 • Letter: H
Question
Hello everyone,
I'm actually working on a fast food order program. So far my program works good. Once the user has finished the order the program displays a receipt with all the order's information.
What I want is to print the receipt information in a showMessagedialog box by making used of JOptionPane. I have tryed but i has been impossible. Can you please guys give a hand with this. Here is my program code:
import java.text.DecimalFormat;
import java.util.Date;
import java.util.Random;
import java.util.Scanner;
//Interface
interface Restaurant
{
//Method that adds items to order.
void addItem();
}
//class that contains item's menu and prices.
class ItemsMenu{
Restaurant[] Menu = {
new CheeseBurger(4.45),
new ChickenBurger(5.25),
new SuperHotDog(3.55),
new MiniHotDog(2.99),
new Fries(1.75),
new OnionRings(1.75),
new Soda(1.55),
new BottleWater(1.25)};
//Method that display menu and receipt.
void Menu()
{
Scanner CashierInput = new Scanner(System.in);
DecimalFormat df = new DecimalFormat("0.00");
Date dateCreated = new Date();
//Declaring variables.
int Choice = 0;
int ItemNum = 0;
double Tax = 0;
double NYTax = 8.78;
double SubTotal = 0;
double Total = 0;
double TotalFinal = 0;
//Printing menu options.
System.out.println(" /*/*/*/*/*/*/*/*/ Mac King Fast Food /*/*/*/*/*/*/*/*/");
System.out.println(" Burgers:" + " " + "Side Orders: ");
System.out.println(" 1. CheeseBurger $" + df.format(((CheeseBurger) Menu[0]).cheeseBurger) + " " + "5. Fries $" + df.format(((Fries) Menu[4]).fries));
System.out.println(" 2. ChickenBurger $" + df.format(((ChickenBurger) Menu[1]).chickenBurger) + " " + "6. Onion Rings $" + df.format(((OnionRings) Menu[5]).onionRings));
System.out.println(" Hot Dogs:" + " " + "Beverages: ");
System.out.println(" 3. Super HotDog $" + df.format(((SuperHotDog) Menu[2]).superHotDog) + " " + "7. Soda $" + df.format(((Soda) Menu[6]).soda));
System.out.println(" 4. Mini HotDog $" + df.format(((MiniHotDog) Menu[3]).miniHotDog) + " " + "8. Bottle of Water $" + df.format(((BottleWater) Menu[7]).bottleWater));
//Loop to get order choice from user.
do {
if (Choice != 0)
{
System.out.print(" !!Enter (0) to finish Order!! ");
}
System.out.print(" Enter menu selection: ");
Choice = CashierInput.nextInt();
//Printing choices added.
//Counting items added.
//Counting number of items added.
//Calculating subtotal.
if (Choice == 1)
{
System.out.println(" CheeseBurger added");
SubTotal = ((CheeseBurger) Menu[0]).cheeseBurger;
Menu[0].addItem();
++CheeseBurger.cheeseBCount;
++ItemNum;
Total = Total + SubTotal;
System.out.println("Current Subtotal $" + (df.format(Total)));
}
else if (Choice == 2)
{
System.out.println(" ChickenBurger added");
SubTotal = ((ChickenBurger) Menu[1]).chickenBurger;
Menu[1].addItem();
++ChickenBurger.chickenBCount;
++ItemNum;
Total = Total + SubTotal;
System.out.println("Current Subtotal $" + (df.format(Total)));
}
else if (Choice == 3)
{
System.out.println(" Super HotDog added");
SubTotal = ((SuperHotDog) Menu[2]).superHotDog;
Menu[2].addItem();
++SuperHotDog.superHotDogCount;
++ItemNum;
Total = Total + SubTotal;
System.out.println("Current Subtotal $" + (df.format(Total)));
}
else if (Choice == 4)
{
System.out.println(" Mini HotDog added");
SubTotal = ((MiniHotDog) Menu[3]).miniHotDog;
Menu[3].addItem();
++MiniHotDog.miniHotDogCount;
++ItemNum;
Total = Total + SubTotal;
System.out.println("Current Subtotal $" + (df.format(Total)));
}
else if (Choice == 5)
{
System.out.println(" Fries added");
SubTotal = ((Fries) Menu[4]).fries;
Menu[4].addItem();
++Fries.friesCount;
++ItemNum;
Total = Total + SubTotal;
System.out.println ("Current Subtotal $" + (df.format(Total)));
}
else if (Choice == 6)
{
System.out.println(" Onion Rings added");
SubTotal = ((OnionRings) Menu[5]).onionRings;
Menu[5].addItem();
++OnionRings.onionRCount;
++ItemNum;
Total = Total + SubTotal;
System.out.println("Current Subtotal $" + (df.format(Total)));
}
else if (Choice == 7)
{
System.out.println(" Soda added");
SubTotal = ((Soda) Menu[6]).soda;
Menu[6].addItem();
++Soda.sodaCount;
++ItemNum;
Total = Total + SubTotal;
System.out.println("Current Subtotal $" + (df.format(Total)));
}
else if (Choice == 8)
{
System.out.println(" Bottle Water added");
SubTotal = ((BottleWater) Menu[7]).bottleWater;
Menu[7].addItem();
++BottleWater.bottleWaterRCount;
++ItemNum;
Total = Total + SubTotal;
System.out.println ("Current Subtotal $" + (df.format(Total)));
}
//Display error message if choice if out of range.
else if(Choice > 8 || Choice < 0)
{
System.out.println(" Wrong menu selection, try again.");
}
}
while(Choice != 0);
CashierInput.close();
Tax = ((Total * NYTax) / 100);
TotalFinal = Total + Tax;
//Printing receipt info.
System.out.println(" RECEIPT " + dateCreated + " ");
//Implementing random number used as order number.
Random RanNum = new Random();
for(int i = 0; i < 1; i++)
{
int Number = RanNum.nextInt(99) + 1;
System.out.println("Order number: "+ Number);
}
//Display number of items added.
if(Burger.burgerCount!=0){
if (CheeseBurger.cheeseBCount != 0 && Choice == 1){
System.out.println(CheeseBurger.cheeseBCount + " CheeseBurger");
}
if (ChickenBurger.chickenBCount != 0 && Choice == 2){
System.out.println(ChickenBurger.chickenBCount + " ChickenBurger");
}
System.out.println("Total Burger Ordered: "+Burger.burgerCount);
}
if(HotDog.hotDogCount!=0){
if (SuperHotDog.superHotDogCount != 0 && Choice == 3)
{
System.out.println(SuperHotDog.superHotDogCount + " Super HotDog");
}
if (MiniHotDog.miniHotDogCount != 0 && Choice == 4)
{
System.out.println(MiniHotDog.miniHotDogCount + " Mini HotDog");
}
System.out.println("Total HotDog Ordered: "+HotDog.hotDogCount);
}
if(SideOrder.sideOrderCount!=0){
if (Fries.friesCount != 0 && Choice == 5)
{
System.out.println(Fries.friesCount + " Fries");
}
if (OnionRings.onionRCount != 0 && Choice == 6)
{
System.out.println(OnionRings.onionRCount + " Onion Rings");
}
System.out.println("Total Side Order Ordered: "+SideOrder.sideOrderCount);
}
if(Beverage.beverageOrderCount!=0){
if (Soda.sodaCount != 0 && Choice == 7)
{
System.out.println(Soda.sodaCount + " Soda");
}
if (BottleWater.bottleWaterRCount != 0 || Choice == 8)
{
System.out.println(BottleWater.bottleWaterRCount + " Bottle of Water");
}
System.out.println("Total Beverage Ordered: "+Beverage.beverageOrderCount);
}
//Printing rest of receipt's info.
System.out.println("Items ordered: " + ItemNum +" Items");
System.out.println("Subtotal: $" + (df.format(Total)));
System.out.println("NY Tax (8.78%): $" + (df.format(Tax)));
System.out.println("Total: $ " + (df.format(TotalFinal)));
System.out.println(" Thank you. Please come again!");
}
}
//Inheritance.
//Class derived from interface.
class Burger implements Restaurant{
static int burgerCount;
//No-argument default constructor.
Burger(){
burgerCount = 0;
}
//Method that adds items to order.
public void addItem() {
++burgerCount;
}
}
//Derived class from burger.
class CheeseBurger extends Burger{
double cheeseBurger;
static int cheeseBCount;
//No-argument default constructor.
public CheeseBurger() {
cheeseBurger = 0;
cheeseBCount = 0;
}
//One argument constructor.
public CheeseBurger(double cheeseBurger){
this.cheeseBurger = cheeseBurger;
}
}
//Derived class from burger.
class ChickenBurger extends Burger{
double chickenBurger;
static int chickenBCount;
//No-argument default constructor.
public ChickenBurger() {
chickenBurger = 0;
chickenBCount = 0;
}
//One argument constructor.
public ChickenBurger(double chickenBurger){
this.chickenBurger = chickenBurger;
}
}
//Derived class from interface.
class SideOrder implements Restaurant{
static int sideOrderCount;
//No-argument default constructor.
SideOrder(){
sideOrderCount = 0;
}
//One argument constructor.
public void addItem() {
++sideOrderCount;
}
}
//Derived class from Side order.
class Fries extends SideOrder{
double fries;
static int friesCount;
//No-argument default constructor.
Fries(){
fries = 0;
friesCount = 0;
}
//One argument constructor.
Fries(double fries){
this.fries = fries;
}
}
//Derived class from side order.
class OnionRings extends SideOrder{
double onionRings;
static int onionRCount;
//No-argument default constructor.
OnionRings(){
onionRings = 0;
onionRCount = 0;
}
//One argument constructor.
OnionRings(double onionRings){
this.onionRings = onionRings;
}
}
//Derived class from interface
class HotDog implements Restaurant{
static int hotDogCount;
//No-argument default constructor.
HotDog(){
hotDogCount = 0;
}
////Method that counts hot dogs added.
public void addItem() {
++hotDogCount;
}
}
//Derived class from hot dog.
class SuperHotDog extends HotDog{
double superHotDog;
static int superHotDogCount;
//No-argument constructor.
SuperHotDog(){
superHotDog = 0;
superHotDogCount = 0;
}
//One argument constructor.
SuperHotDog(double superHotDog){
this.superHotDog = superHotDog;
}
}
//Derived class from hot dog.
class MiniHotDog extends HotDog{
double miniHotDog;
static int miniHotDogCount;
//No-argument default constructor.
MiniHotDog(){
miniHotDog = 0;
miniHotDogCount = 0;
}
//One-argument constructor.
MiniHotDog(double miniHotDog){
this.miniHotDog = miniHotDog;
}
}
//Derived class from interface.
class Beverage implements Restaurant{
static int beverageOrderCount;
//No-argument default constructor.
Beverage(){
beverageOrderCount = 0;
}
//Method that counts beverages added.
public void addItem() {
++beverageOrderCount;
}
}
//Derived class from beverage
class Soda extends Beverage{
double soda;
static int sodaCount;
//No-argument default constructor.
Soda(){
soda = 0;
sodaCount = 0;
}
//One argument constructor.
Soda(double soda){
this.soda=soda;
}
}
//Derived class from beverage.
class BottleWater extends Beverage{
double bottleWater;
static int bottleWaterRCount;
//No-argument default constructor.
BottleWater(){
bottleWater = 0;
bottleWaterRCount = 0;
}
//One argument constructor.
BottleWater(double bottleWater){
this.bottleWater = bottleWater;
}
}
public class RestaurantProjectMac190{
public static void main(String[] args){
//Creating object to run program.
ItemsMenu Run = new ItemsMenu();
Run.Menu();
}
}
Explanation / Answer
edit the code
in place of System.out.println use
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.