In: Computer Science
Create a simple shopping cart application. Ask the user to input an item number and quantity. Update the shopping cart. Display the updated cart. Include the following when displaying cart: item number, name, quantity and total price. Ask for another update or end the program.
Design
Requires 2 classes: the main class and the cartItem class In the main class: Need one array named cartArray of type cartItem. Size = ? Need a loop that asks the user for input. Ask for item number, which is a string and quantity which is an integer. Need to create a new cartItem from user input of item number and quantity. Load the cartItem object into the cartArray. (CartItem is a class that takes two values in constructor: item number and item quantity.) Print out all items in cartArray (item number, name, quantity, and total price) and ask user for more input.
CartItem class
CartItem has four instance variables. String itemNumber; String name; int quantity; double totalPrice; It also has a “database” made up of 3 arrays. Described below. The CartItem class has a constructor that takes a String(itemNumber) and an integer(quantity) as arguments. The constructor does the following: It passes the item number up to the corresponding instance variable. It also passes the quantity up to the quantity instance variable. It then calls the getItemName method to first, get the item name and then set the item name instance variable. It calls the calcPrice method to set the totalPrice instance variable by first getting the total price and then setting the totalPrice instance variable.
The CartItem class Has at least the following methods: public double calcPrice(String itemNumber); Returns total price: calculated by multiplying price by quantity. Need to look up the price.Use the item number array to get the index of the item number. Use the item number index to find the price from the price array. Once you have the price you multiply the price by the quantity and return the total. public String getItemName(String itemNumber); returns item name. Use the item number array to get the index of the item number. Use this index to find the name of the corresponding item. Return the name. public void setItemName(String name); sets name instance variable. public String toString() returns the string values of all the variables. Array description The first is of type String that holds the item numbers. Example: {“101a”, “ 201b”, “301c”} The second array is of type String and it holds the item name. Example: {“Flashlight”, ”scissors”, “Book mark”}; Third array is of type double that has the corresponding prices: {12.99, 4.55, 1.99};
Code:
CartItem Class:
public class CartItem
{
String itemNumber; String name; int quantity; double
totalPrice;
String itemNumberArray[] = {"101a", "201b",
"301c","401d","501e"};
String nameArray[] = {"Flashlight", "scissors", "Book
mark","Paper Weight","Blue Pen"};
double priceArray[] = {12.99, 4.55, 1.99, 3.50,
1.50};
CartItem(String itemNumber, int quantity)
{
this.itemNumber=itemNumber;
this.quantity=quantity;
this.name=getItemName(itemNumber);
this.totalPrice=calcPrice(itemNumber);
}
public double calcPrice(String itemNumber)
{
int i=0;
for(i=0;i<itemNumberArray.length;i++)
{
if(itemNumberArray[i].equals(itemNumber))
{break;}
}
return
priceArray[i]*this.quantity;
}
public String getItemName(String itemNumber)
{
int i=0;
for(i=0;i<itemNumberArray.length;i++)
{
if(itemNumberArray[i].equals(itemNumber))
{break;}
}
return nameArray[i];
}
public void setItemName(String name)
{
this.name = name;
}
public String toString()
{
return this.itemNumber+"
"+this.name+" "+this.quantity+" "+this.totalPrice;
}
}
MainProgram Class:
import java.util.Scanner;
public class MainProgram
{
public static void main(String[] args)
{
CartItem cart[] = new
CartItem[100];
int c = 1;int i=0;
String itemNumber;int
quantity;
Scanner sc = new
Scanner(System.in);
while(c==1)
{
System.out.print("Enter Item Number To Add To Cart: ");
itemNumber=sc.next();
System.out.print("Enter Quantity For Entered Item: ");
quantity=sc.nextInt();
cart[i]=new
CartItem(itemNumber, quantity);
i++;
System.out.println("");
System.out.println("Updated Cart Contents:");
System.out.println("ItemNumber Name Quantity TotalPrice");
for(int
j=0;j<i;j++)
{
System.out.println(cart[j]);
}
System.out.println("");
System.out.print("Enter 1 To Add Another Item Or Any Other Number
To Exit: ");
c=sc.nextInt();
System.out.println("");
}
}
}
Sample Output: