+1 (315) 557-6473 

Java Program to Create Menu Display Assignment Solution.


Instructions

Objective
To complete a Java assignment, you are required to write a program that creates a menu display in Java. This program should effectively present a menu to the user, allowing them to navigate and select various options. By completing this Java assignment, you will gain valuable experience in handling user interfaces and creating interactive programs.

Requirements and Specifications

program to create menu display in java
program to create menu display in java 1

Source Code

package crn23004.MOD_03.ClothingDepartmentStore;

import java.util.Random;

import java.util.Scanner;

public class MS_EJP4_Chars_Strings_Loops {

public static void main(String[] args) {

// Initialize all variables needed for the program

Scanner scanner = new Scanner(System.in);

final double TRANSACTION_TAX = 0.0825f;

int menuOption = 0;

long customerID = 0;

short itemID = 0;

byte itemQuantity = 0;

double itemPrice = 0;

double itemTotalLinePrice = 0;

double pricePerTransaction = 0;

// Display the introduction

System.out.println("Welcome to Maria's Clothing Department Store:");

System.out.println("We have various elegant clothes with affordable price.");

System.out.println("Today is the last day of the discount of our new arrival products.");

System.out.println("Our staff is friendly and helpful.");

System.out.println("===================================================");

// Display user option

ystem.out.println("0 - X. Ch_4-7 Main Menu");

System.out.println("1 - A. Main Menu");

System.out.println("2 - B. End Program");

System.out.print("Option: ");

menuOption = Integer.parseInt(scanner.nextLine());

if (menuOption == 0) {

System.out.println("\n===================================================");

System.out.println("Ch_4-7 Main Menu\n");

System.out.println("0 - A. New User Input Values");

System.out.println("1 - B. End Program");

System.out.print("Option: ");

menuOption = Integer.parseInt(scanner.nextLine());

if (menuOption == 0) {

System.out.println("\n===================================================");

System.out.println("New User Input Values\n");

int loopMem = 0;

loopMem = 1;

while (loopMem == 1) {

System.out.println("0 - C. Add Members => X");

System.out.println("1 - D. Add Items => X");

System.out.println("2 - E. End Program");

System.out.print("Option: ");

menuOption = Integer.parseInt(scanner.nextLine());

if (menuOption == 0) {

Random random = new Random();

System.out.println("\n===================================================");

System.out.println("Add Members");

System.out.println("How many user to add to the database: ");

int numberOfMembers = Integer.parseInt(scanner.nextLine());

int memNum;

String database = "";

String personID, firstName, lastName, phone, email, password;

System.out.println("Number of user adding ...." + numberOfMembers);

for (int i = 1; i <= numberOfMembers; i++) {

memNum = i;

database += "memnum = " + memNum;

ersonID = Integer.toString(random.nextInt(5383) + 4599);

database += "_personID = " + personID;

//Person ID

System.out.println("Enter your ID#" + i);

personID = scanner.nextLine();

database += "personID = " + personID;

//First Name

System.out.println("Enter your Firstname#" + i);

firstName = scanner.nextLine();

database += "_firstName = " + firstName;

//Last Name

System.out.println("Enter your Lastname#" + i);

lastName = scanner.nextLine();

database += "lastName = " + lastName;

//Phone Number

System.out.println("Enter your Phone#" + i);

phone = scanner.nextLine();

database += "_phone = " + phone;

//Person Email

System.out.println("Enter your Email#" + i);

email = scanner.nextLine();

database += "_email = " + email;

//Person Password

System.out.println("Enter your Password#" + i);

password = scanner.nextLine();

database += "_password = " + password + System.lineSeparator();

System.out.println("****User Update***");

}

System.out.print(database);

}

else if (menuOption == 1) {

System.out.println("\n===================================================");

System.out.println("Add Items");

boolean outOfStock = false;

boolean addItem = true;

long availableQuantity = 10;

long qtyCase1 = availableQuantity;

long qtyCase2 = availableQuantity;

long qtyCase3 = availableQuantity;

long qtyCase4 = availableQuantity;

long qtyCase5 = availableQuantity;

while (addItem) {

// Create variables of some data type with default value

byte lineItem = 0;

// Zero-out previous variables

customerID = 0;

itemID = 0;

itemQuantity = 0;

itemPrice = 0;

itemTotalLinePrice = 0;

pricePerTransaction = 0;

System.out.println("Shop & Checkout");

// Display more options

System.out.println("Select an item, select line 1 - 5 from the menu below:");

System.out.println("Line Item: " + (++lineItem)

+ ", ID: 100, Name: Shirt, Description: Upper Garment, Available Quantity: " + qtyCase1 + ", Price Per Item: $5.00");

System.out.println("Line Item: " + (++lineItem)

+ ", ID: 200, Name: Pants, Description: Lower Garment, Available Quantity: " + qtyCase2 + ", Price Per Item: $6.00");

System.out.println("Line Item: " + (++lineItem)

+ ", ID: 300, Name: Boxers, Description: Male Underwear, Available Quantity: " + qtyCase3 + ", Price Per Item: $2.50");

System.out.println("Line Item: " + (++lineItem)

+ ", ID: 400, Name: Socks, Description: Foot Garment, Available Quantity: " + qtyCase4 + ", Price Per Item: $1.50");

System.out.println("Line Item: " + (++lineItem)

+ ", ID: 500, Name: Belt, Description: Waist Garment, Available Quantity: " + qtyCase5 + ", Price Per Item: $1.00");

System.out.print("Line Item Option: ");

lineItem = Byte.parseByte(scanner.nextLine());

// Set the quantity and price per item based on selected line item

switch (lineItem) {

case 1:

//item 1

itemID = 100;

availableQuantity = qtyCase1;

itemPrice = 5;

break;

//item 2

case 2:

itemID = 200;

availableQuantity = qtyCase2;

itemPrice = 6;

break;

case 3:

//item 3

itemID = 300;

availableQuantity = qtyCase3;

itemPrice = 2.5f;

break;

case 4:

//item 4

itemID = 400;

availableQuantity = qtyCase4;

itemPrice = 1.5f;

break;

case 5:

//item 5

itemID = 500;

availableQuantity = qtyCase5;

itemPrice = 1;

break;

default:

lineItem = -1;

}

System.out.println();

if (lineItem != -1) {

// Display the selected item

System.out.print(lineItem + " - " + itemID + " - ");

switch (lineItem) {

case 1:

System.out.print("Shirt - Upper Garment");

break;

case 2:

System.out.print("Pants - Lower Garment");

break;

case 3:

System.out.print("Boxers - Male Underwear");

break;

case 4:

System.out.print("Socks - Foot Garment");

break;

case 5:

System.out.print("Belt - Waist Garment");

break;

}

System.out.println(" - " + availableQuantity + " - " + itemPrice);

// Ask for the customer's ID

System.out.print("Enter customer ID: ");

customerID = Long.parseLong(scanner.nextLine());

// Ask for the quantity

System.out.print("Enter quantity to purchase: ");

itemQuantity = Byte.parseByte(scanner.nextLine());

if (itemQuantity > availableQuantity) {

// Check if the available quantity is enough

System.out.println("Out of stock, transaction cannot be processed!");

System.out.println("\n===================================================");

System.out.println("Thank you for purchasing in Maria's Clothing Department Store.");

System.out.println("Have a great day with your new style!");

System.out.println("End of program.");

outOfStock = true;

break;

} else if (itemQuantity > 0 && itemQuantity <= availableQuantity) {

// If there's available quantity then process it

System.out.println("Item is available for purchase!");

availableQuantity -= itemQuantity;

switch (lineItem) {

case 1:

qtyCase1 -= itemQuantity;

break;

case 2:

qtyCase2 -= itemQuantity;

break;

case 3:

qtyCase3 -= itemQuantity;

break;

case 4:

qtyCase4 -= itemQuantity;

break;

case 5:

qtyCase5 -= itemQuantity;

break;

}

// Display the available quantity left after purchase

if (availableQuantity == 0)

System.out.println("NOW - out of stock, current # of items left: " + availableQuantity);

else

System.out.println("Item is available, current # of items left: " + availableQuantity);

// Calculate the total

itemTotalLinePrice = itemPrice * itemQuantity;

System.out.printf("\n%d's transactional balance equals $%.2f.\n", customerID, itemTotalLinePrice);

pricePerTransaction = itemTotalLinePrice + (itemTotalLinePrice * TRANSACTION_TAX);

System.out.printf("\nCustomer Identification Number: %d\n", customerID);

System.out.printf("Transaction payment: $%.2f.\n", pricePerTransaction);

} else {

System.out.println("Invalid quantity.");

}

}

System.out.println("Another item to add to cart? \n1 - Yes or \n2 - No");

int selectAnotherItem = Integer.parseInt(scanner.nextLine());

addItem = selectAnotherItem == 1;

}

if (!outOfStock) {

System.out.printf("Amount Due: $%.2f%n", pricePerTransaction);

}

}

System.out.println("1 - Again\n2 - Exit");

loopMem = Integer.parseInt(scanner.nextLine());

}

}

} else if (menuOption == 1) {

// Show an inner menu

System.out.println("\n===================================================");

System.out.println("1. Print user info");

System.out.println("2. Shop & Checkout");

System.out.println("3. End Program");

System.out.print("Option: ");

menuOption = Integer.parseInt(scanner.nextLine());

if (menuOption == 1) {

// Print all variable's values

System.out.println("customerID = " + customerID);

System.out.println("itemID = " + itemID);

System.out.println("itemQuantity = " + itemQuantity);

System.out.println("itemPrice = " + itemPrice);

System.out.println("itemTotalLinePrice = " + itemTotalLinePrice);

System.out.println("pricePerTransaction = " + pricePerTransaction);

} else if (menuOption == 2) {

// Create variables of some data type with default value

byte lineItem = 0;

long availableQuantity = 10;

// Zero-out previous variables

customerID = 0;

itemID = 0;

itemQuantity = 0;

itemPrice = 0;

itemTotalLinePrice = 0;

pricePerTransaction = 0;

// Display more options

System.out.println("Select an item, select line 1 - 5 from the menu below:");

System.out.println("Line Item: " + (++lineItem)

+ ", ID: 100, Name: Shirt, Description: Upper Garment, Available Quantity: 10, Price Per Item: $5.00");

System.out.println("Line Item: " + (++lineItem)

+ ", ID: 200, Name: Pants, Description: Lower Garment, Available Quantity: 10, Price Per Item: $6.00");

System.out.println("Line Item: " + (++lineItem)

+ ", ID: 300, Name: Boxers, Description: Male Underwear, Available Quantity: 10, Price Per Item: $2.50");

System.out.println("Line Item: " + (++lineItem)

+ ", ID: 400, Name: Socks, Description: Foot Garment, Available Quantity: 10, Price Per Item: $1.50");

System.out.println("Line Item: " + (++lineItem)

+ ", ID: 500, Name: Belt, Description: Waist Garment, Available Quantity: 10, Price Per Item: $1.00");

System.out.print("Line Item Option: ");

lineItem = Byte.parseByte(scanner.nextLine());

// Set the quantity and price per item based on selected line item

switch (lineItem) {

case 1:

itemID = 100;

availableQuantity = 10;

itemPrice = 5;

break;

case 2:

itemID = 200;

availableQuantity = 10;

itemPrice = 6;

break;

case 3:

itemID = 300;

availableQuantity = 10;

itemPrice = 2.5f;

break;

case 4:

itemID = 400;

availableQuantity = 10;

itemPrice = 1.5f;

break;

case 5:

itemID = 500;

availableQuantity = 10;

itemPrice = 1;

break;

default:

lineItem = -1;

}

System.out.println();

if (lineItem != -1) {

// Display the selected item

System.out.print(lineItem + " - " + itemID + " - ");

switch (lineItem) {

case 1:

System.out.print("Shirt - Upper Garment");

break;

case 2:

System.out.print("Pants - Lower Garment");

break;

case 3:

System.out.print("Boxers - Male Underwear");

break;

case 4:

System.out.print("Socks - Foot Garment");

break;

case 5:

System.out.print("Belt - Waist Garment");

break;

}

System.out.println(" - " + availableQuantity + " - " + itemPrice);

// Ask for the customer's ID

System.out.print("Enter customer ID: ");

customerID = Long.parseLong(scanner.nextLine());

// Ask for the quantity

System.out.print("Enter quantity to purchase: ");

itemQuantity = Byte.parseByte(scanner.nextLine());

if (itemQuantity > availableQuantity) {

// Check if the available quantity is enough

System.out.println("Out of stock, transactoin cannot be processed!");

System.out.println("\n===================================================");

System.out.println("Thank you for purchasing in Maria's Clothing Department Store.");

System.out.println("Have a great day with your new style!");

System.out.println("End of program.");

} else if (itemQuantity > 0 && itemQuantity <= availableQuantity) {

// If there's available quantity then process it

System.out.println("Item is available for purchase!");

availableQuantity -= itemQuantity;

// Display the available quantity left after purchase

if (availableQuantity == 0)

System.out.println("NOW - out of stock, current # of items left: " + availableQuantity);

else

System.out.println("Item is available, current # of items left: " + availableQuantity);

// Calculate the total

itemTotalLinePrice = itemPrice * itemQuantity;

System.out.printf("\n%d's transactional balance equals $%.2f.\n", customerID, itemTotalLinePrice);

pricePerTransaction = itemTotalLinePrice + (itemTotalLinePrice * TRANSACTION_TAX);

System.out.printf("\nCustomer Identification Number: %d\n", customerID);

System.out.printf("Transaction payment: $%.2f.\n", pricePerTransaction);

} else {

System.out.println("Invalid quantity.");

}

}

} else if (menuOption != 3) {

System.out.println("Invalid option.");

}

} else if (menuOption != 2) {

System.out.println("Invalid option.");

}

// Exit with a message

System.out.println("\n===================================================");

System.out.println("Thank you for purchasing in Maria's Clothing Department Store.");

System.out.println("Have a great day with your new style!");

System.out.println("Program Shutdown.");

System.out.println("\n===================================================");

}

}