6.20 warm up: online shopping cart (java)

6.20 Warm up: Online shopping cart (Java) Instructor notes While you will be submitting this assignment through Zybooks, make sure you are still applying appropriate formatting and in-line commenting. Create a program using classes that does the following using your NetBeans IDE and upload it here:

(1) Create two files to submit: ItemToPurchase.java – Class definition ShoppingCartPrinter.java – Contains main() method Build the ItemToPurchase class with the following specifications: Private fields String itemName – Initialized in default constructor to “none” int itemPrice – Initialized in default constructor to 0 int itemQuantity – Initialized in default constructor to 0 Default constructor Public member methods (mutators & accessors) setName() & getName() (2 pts) setPrice() & getPrice() (2 pts) setQuantity() & getQuantity() (2 pts) (2) In main(), prompt the user for two items and create two objects of the ItemToPurchase class. Before prompting for the second item, call scnr.nextLine(); to allow the user to input a new string. (2 pts) When I enter the code everything looks correct except I keep getting an error saying can not find ItemsToPirchase symbols. “Exception in thread “main” java.lang.RuntimeException: Uncompilable source code – cannot find symbol symbol: class ItemToPurchase location: class shoppingcartprinter.ShoppingCartPrinter at shoppingcartprinter.ShoppingCartPrinter.main(ShoppingCartPrinter.java:26) Java Result: 1″ And then I get a no main class found in the ItemsToPurchase file. Is there a certain way I am supposed to save these file or something that I am missing.. Please help. Below is a copy of the code I am using. package shoppingcartprinter; /**
*
* @author Prevo
*/
import java.util.Scanner; public class ShoppingCartPrinter { // Definition of the main method public static void main(String[] args) { // TODO Auto-generated method stub // Create an object for the Scanner class Scanner sc = new Scanner(System.in); // Create an object item1 for the // ItemToPurchase() method. ItemToPurchase item1 = new ItemToPurchase(); // Create an object item2 for the // ItemToPurchase() method. ItemToPurchase item2 = new ItemToPurchase(); System.out.println(“Item 1”); // Read the item name using nextLine() method. System.out.print(“Enter the item name: “); item1.setName(sc.nextLine()); // Read the price of the item using nextInt() // and nextLine() method. System.out.print(“Enter the item price: “); item1.setPrice(sc.nextInt()); sc.nextLine(); // Read the quantity of the item using nextInt() // and nextLine() method. System.out.print(“Enter the item quantity: “); item1.setQuantity(sc.nextInt()); sc.nextLine(); // Read the name,price, and quantity // of the item2. System.out.println(“nItem 2”); System.out.print(“Enter the item name:”); item2.setName(sc.nextLine()); System.out.print(“Enter the item price: “); item2.setPrice(sc.nextInt()); sc.nextLine(); System.out.print(“Enter the item quantity: “); item2.setQuantity(sc.nextInt()); sc.nextLine(); //Print the details of the item1. System.out.println(“nTOTAL COST”); System.out.println(item1.getName() + ” ” +item1.getQuantity() + ” @ $” +item1.getPrice() +” = $”+ (item1.getPrice()*item1.getQuantity())); // Print the details of the item2. System.out.println(item2.getName() + ” ” +item2.getQuantity() +” @ $” + item2.getPrice() +” = $”+ (item2.getPrice()*item2.getQuantity())); // Calculate the total cost of the two items and // print the total cost of the two items. System.out.println(“nTotal: $” + (item1.getPrice()* item1.getQuantity()+ item2.getPrice() *item2.getQuantity())); } } public class ItemToPurchase { // Define the variables. // Private fields. private String itemName; private int itemPrice; private int itemQuantity; // Definition of the method ItemToPurchase(). // Default Constructor. public ItemToPurchase(){ this.itemName=”none”; this.itemPrice=0; this.itemQuantity=0; } // Definition of the method setName(). // Mutator method. public void setName(String itemName){ this.itemName=itemName; } // Definition of the method getName(). // Accessor method. public String getName(){ return this.itemName; } // Definition of the method setPrice(). // Mutator method. public void setPrice(int itemPrice){ this.itemPrice=itemPrice; } // Definition of the method getName(). // Accessor method. public int getPrice(){ return this.itemPrice; } // Definition of the method setQuality(). // Mutator method. public void setQuantity(int itemQuantity){ this.itemQuantity=itemQuantity; } // Definition of the method getQuality(). // Accessor method. public int getQuantity(){ return this.itemQuantity; } }

Answer

ShoppingCartManager.java
import java.util.Scanner;
public class ShoppingCartManager {
public static void main(String[] args)  
{
Scanner scan = new Scanner(System.in);
System.out.println(“Enter Customer’s Name: “);
String customerName = scan.nextLine();
System.out.println(“Enter Today’s Date: “);
String currentDate = scan.nextLine();
ShoppingCart s = new ShoppingCart(customerName, currentDate);
System.out.println();
System.out.println(“Customer Name: “+s.getCustomerName());
System.out.println(“Today’s Date: “+currentDate);
printMenu(s);
  
}
public static void printMenu(ShoppingCart s){
while(true){
System.out.println(“MENUna – Add item to cartnd – Remove item from cartnc – Change item quantityni – Output items’ descriptionsno – Output shopping cartnq – QuitnnChoose an option: “);
Scanner scan = new Scanner(System.in);
char ch = scan.next().charAt(0);
scan.nextLine();
if(ch == ‘a’ || ch == ‘A’ ){
System.out.println(“ADD ITEM TO CART”);
System.out.println(“Enter Item Name: “);
String name = scan.nextLine();
  
System.out.println(“Enter Item Description: “);
String itemDescritpion = scan.nextLine();
System.out.println(“Enter Item Price: “);
int itemPrice = scan.nextInt();
System.out.println(“Enter Item Quantity: “);
int quantity = scan.nextInt();
scan.nextLine();
ItemToPurchase item = new ItemToPurchase(name, itemDescritpion, itemPrice, quantity);
s.addItem(item);
}
else if(ch == ‘d’ || ch == ‘D’){
System.out.println(“REMOVE ITEM FROM CART”);
System.out.println(“Enter name of item to remove: “);
String name = scan.nextLine();
s.removeItem(name);
}
else if(ch == ‘c’ || ch == ‘C’){
System.out.println(“CHANGE ITEM QUANTITY”);
System.out.println(“Enter the item name: “);
String name = scan.nextLine();
System.out.println(“Enter the new quantity: “);
int quantity = scan.nextInt();
ItemToPurchase item = new ItemToPurchase();
item.setName(name);
item.setItemQuantity(quantity);
s.modifyItem(item);
}
else if(ch == ‘I’ || ch == ‘i’){
System.out.println(“OUTPUT ITEMS’ DESCRIPTIONS”);
s.printDescriptions();
}
else if(ch == ‘O’ || ch == ‘o’){
System.out.println(“OUTPUT SHOPPING CART”);
s.printTotal();
}
else if(ch == ‘q’ || ch == ‘Q’){
break;
}
}
}
} ShoppingCart.java
import java.util.ArrayList; public class ShoppingCart {
private String customerName;
private String currentDate ;
ArrayList<ItemToPurchase> cartItems = new ArrayList<ItemToPurchase>();;
public ShoppingCart() {
currentDate = “January 1, 2016”;
customerName = “none”;
}
public ShoppingCart(String name , String date) {
this.currentDate = date;
this.customerName = name;
}
public String getCustomerName() {
return customerName;
}
public void setCustomerName(String customerName) {
this.customerName = customerName;
}
public String getCurrentDate() {
return currentDate;
}
public void setCurrentDate(String currentDate) {
this.currentDate = currentDate;
}
public void addItem( ItemToPurchase i) {
cartItems.add(i);
}
public void removeItem(String name) {
boolean found = false;;
for(ItemToPurchase i: cartItems){
if(i.getName().equalsIgnoreCase(name)) {
cartItems.remove(i);
found = true;
break;
}
}
if(!found)
System.out.println(“Item not found in cart. Nothing removed”);
}
public void modifyItem(ItemToPurchase item) {
boolean found = false;;
for(ItemToPurchase i: cartItems){
if(i.getName().equalsIgnoreCase(item.getName())) {
if(i.getItemQuantity()!=0){
i.setItemQuantity(item.getItemQuantity());
}
found = true;
break;
}
}
if(!found)
System.out.println(“Item not found in cart. Nothing removed”);
}
public int getNumItemsInCart() {
int sum = 0;
for(ItemToPurchase i: cartItems){
sum = sum + i.getItemQuantity();
}
return sum;
}
public double getCostOfCart() {
double sum = 0;
for(ItemToPurchase i: cartItems){
sum = sum + i.getItemPrie();
}
return sum;
  
}
public void printTotal() {
if(cartItems!=null&& cartItems.size() >0 ){
System.out.println(customerName+”‘s Shopping Cart – “+currentDate);
System.out.println(“Number of Items: “+cartItems.size());
System.out.println();
for(ItemToPurchase i: cartItems){
  
i.printItemCost();
}
}
else{
System.out.println(“SHOPPING CART IS EMPTY”);   
}
}
public void printDescriptions() {
System.out.println(customerName+”‘s Shopping Cart – “+currentDate);
System.out.println(“Number of Items: “+cartItems.size());
System.out.println();
System.out.println(“Item Descriptions”);
for(ItemToPurchase i: cartItems){
  
i.printItemDescription();
}
}
} ItemToPurchase.java
public class ItemToPurchase {
private String itemDescription;
private String name;
private double itemPrie;
private int itemQuantity;
public ItemToPurchase() {
itemDescription = “none”;
itemQuantity = 0;
itemPrie = 0;
name = “”;
}
public ItemToPurchase(String name, String description, double price, int itemQuantity) {
this.itemDescription = description;
this.name = name;
this.itemPrie = price;
this.itemQuantity = itemQuantity;
}
public String getItemDescription() {
return itemDescription;
}
public void setItemDescription(String itemDescription) {
this.itemDescription = itemDescription;
}
public void printItemCost() {
System.out.println(name+” “+itemQuantity+” @ “+itemPrie+” = $”+(itemQuantity * itemPrie) );
}
public void printItemDescription() {
System.out.println(name+” “+itemDescription);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getItemPrie() {
return itemPrie;
}
public void setItemPrie(double itemPrie) {
this.itemPrie = itemPrie;
}
public int getItemQuantity() {
return itemQuantity;
}
public void setItemQuantity(int itemQuantity) {
this.itemQuantity = itemQuantity;
}
  
} Output: Enter Customer’s Name:
John Doe
Enter Today’s Date:
February 1, 2016 Customer Name: John Doe
Today’s Date: February 1, 2016
MENU
a – Add item to cart
d – Remove item from cart
c – Change item quantity
i – Output items’ descriptions
o – Output shopping cart
q – Quit Choose an option:
a
ADD ITEM TO CART
Enter Item Name:
Nike Romaleos
Enter Item Description:
Volt color, Weightlifting shoes
Enter Item Price:
2
Enter Item Quantity:
189
MENU
a – Add item to cart
d – Remove item from cart
c – Change item quantity
i – Output items’ descriptions
o – Output shopping cart
q – Quit Choose an option:
a
ADD ITEM TO CART
Enter Item Name:
Chocolate Chips
Enter Item Description:
Semi-sweet
Enter Item Price:
5
Enter Item Quantity:
3
MENU
a – Add item to cart
d – Remove item from cart
c – Change item quantity
i – Output items’ descriptions
o – Output shopping cart
q – Quit Choose an option:
a
ADD ITEM TO CART
Enter Item Name:
Powerbeats 2 Headphones
Enter Item Description:
Bluetooth headphones
Enter Item Price:
2
Enter Item Quantity:
128
MENU
a – Add item to cart
d – Remove item from cart
c – Change item quantity
i – Output items’ descriptions
o – Output shopping cart
q – Quit Choose an option:
a
ADD ITEM TO CART
Enter Item Name:
aaaa
Enter Item Description:
bbbb
Enter Item Price:
3
Enter Item Quantity:
4
MENU
a – Add item to cart
d – Remove item from cart
c – Change item quantity
i – Output items’ descriptions
o – Output shopping cart
q – Quit Choose an option:
d
REMOVE ITEM FROM CART
Enter name of item to remove:
aaaa
MENU
a – Add item to cart
d – Remove item from cart
c – Change item quantity
i – Output items’ descriptions
o – Output shopping cart
q – Quit Choose an option:
c
CHANGE ITEM QUANTITY
Enter the item name:
Chocolate Chips
Enter the new quantity:
7
MENU
a – Add item to cart
d – Remove item from cart
c – Change item quantity
i – Output items’ descriptions
o – Output shopping cart
q – Quit Choose an option:
i
OUTPUT ITEMS’ DESCRIPTIONS
John Doe’s Shopping Cart – February 1, 2016
Number of Items: 3 Item Descriptions
Nike Romaleos Volt color, Weightlifting shoes
Chocolate Chips Semi-sweet
Powerbeats 2 Headphones Bluetooth headphones
MENU
a – Add item to cart
d – Remove item from cart
c – Change item quantity
i – Output items’ descriptions
o – Output shopping cart
q – Quit Choose an option:
o
OUTPUT SHOPPING CART
John Doe’s Shopping Cart – February 1, 2016
Number of Items: 3 Nike Romaleos 189 @ 2.0 = $378.0
Chocolate Chips 7 @ 5.0 = $35.0
Powerbeats 2 Headphones 128 @ 2.0 = $256.0
MENU
a – Add item to cart
d – Remove item from cart
c – Change item quantity
i – Output items’ descriptions
o – Output shopping cart
q – Quit

Choose an option:
q

Leave a Comment