In: Computer Science
Can you please take this code and just rewrite it so it can be easily be able to put into a complier. in java
Implementation of above program in java:
import java.util.HashMap;
import java.util.Scanner;
import java.util.Map.Entry;
public class Shopping_cart {
static Scanner s= new Scanner (System.in);
// declare hashmap in which key is dates as per
mentioned and Values class as value which consists all the record
of cases
static HashMap<String,Item> map= new
HashMap<>();
public static void main(String[] args) {
// TODO Auto-generated method
stub
getupdates();
}
static void getupdates() {
System.out.println("Welcome to
Shopping Cart. Enter:");
System.out.println("1 : Add an Item
");
System.out.println("2 : Add
multiples Quantities of Given Item ");
System.out.println("3 : Remove an
unspecified Item ");
System.out.println("4 :
CheckOut");
System.out.println("5 :
Checkbudget");
System.out.print("Choice: ");
int selection= s.nextInt();
switch(selection) {
case 1:
add_new_item();
getupdates();
case 2:
Add_multiples_items();
getupdates();
case 3:
remove_unspecified_data();
getupdates();
case 4:
checkout();
getupdates();
case 5:
checkbudget();
getupdates();
case 6:
System.out.println("Stay Safe");
break;
default:
System.out.println("Invalid choice");
System.out.println("Please
enter the valid choice");
getupdates();
}
}
public static int total_price() {
int total_price=0;
for (Entry<String, Item>
entry : map.entrySet()) {
Item
it=map.get(entry.getKey());
total_price+=it.getPrice()*it.get_quantity();
}
return total_price;
}
private static void checkbudget() {
System.out.print("Enter your Total
Budget : ");
int budget=s.nextInt();
int totalprice=0;
System.out.println("Total Amount = "+total_price());
while(budget<total_price()) {
totalprice = remove_unspecified_data();
if(budget>=totalprice) {
break;
}
}
System.out.println();
System.out.println("Now updates cart : ");
checkout();
System.out.println();
}
private static void checkout() {
System.out.println(" Here list of
Items in Your Cart");
int i=1;
int total_price=0;
System.out.println(" S.no Name of
item Quantity price ");
System.out.println(" ");
for (Entry<String, Item>
entry : map.entrySet()) {
Item
it=map.get(entry.getKey());
System.out.println(" "+i+" "+entry.getKey()+" "+it.get_quantity()+"
$"+it.getPrice()*it.get_quantity());
total_price+=it.getPrice()*it.get_quantity();
i++;
}
System.out.println();
System.out.println("Total Amount =
"+total_price);
System.out.println();
System.out.println();
}
private static int remove_unspecified_data()
{
System.out.print("Enter the item
you want to remove from your cart : ");
String name=s.next();
Item it1=map.get(name);
int quant=it1.get_quantity();
if(quant>1) {
quant--;
it1.set_quantity(-1);
map.put(name, it1);
}
else {
map.remove(name,
it1);
}
int
total_price=total_price();
total_price-=it1.getPrice();
System.out.println();
System.out.println();
return total_price;
}
private static void Add_multiples_items() {
System.out.print("Enter the item
you want to add in your cart : ");
String name=s.next();
System.out.println("Enter price of Item : ");
int price=s.nextInt();
System.out.print("Enter the
quantity of that item you want to add : ");
int quan=s.nextInt();
if(map.containsKey(name)) {
Item
it1=map.get(name);
it1.set_quantity(quan);
map.put(name,
it1);
}
else {
Item it= new
Item(name,price,quan);
map.put(name,
it);
}
System.out.println();
System.out.println();
}
private static void add_new_item() {
System.out.print("Enter the item
you want to add in your cart : ");
String name=s.next();
System.out.println("Enter price of
Item : ");
int price=s.nextInt();
if(map.containsKey(name)) {
Item
it1=map.get(name);
it1.set_quantity(1);
map.put(name,
it1);
}
else {
Item it= new
Item(name,price,1);
map.put(name,
it);
}
System.out.println();
System.out.println();
}
}
class Item
{
private String name;
private int price;
private int quantity; //in cents
//Constructor
public Item(String n, int p,int quantity)
{
name = n;
price = p;
this. quantity=quantity;
}
public boolean equals(Item other)
{
return this.name.equals(other.name) && this.price ==
other.price;
}
//displays name of item and price in properly formatted
manner
public String toString()
{
return name + ", price: $" + price/100 + "." + price%100;
}
//Getter methods
public int getPrice()
{
return price;
}
public int get_quantity()
{
return quantity;
}
public void set_quantity(int qa)
{
quantity+=qa;
}
public String getName()
{
return name;
}
}
import java.util.HashMap;
import java.util.Scanner;
import java.util.Map.Entry;
public class Shopping_cart {
static Scanner s= new Scanner (System.in);
// declare hashmap in which key is dates as per mentioned and Values class as value which consists all the record of cases
static HashMap<String,Item> map= new HashMap<>();
public static void main(String[] args) {
// TODO Auto-generated method stub
getupdates();
}
static void getupdates() {
System.out.println("Welcome to Shopping Cart. Enter:");
System.out.println("1 : Add an Item ");
System.out.println("2 : Add multiples Quantities of Given Item ");
System.out.println("3 : Remove an unspecified Item ");
System.out.println("4 : CheckOut");
System.out.println("5 : Checkbudget");
System.out.print("Choice: ");
int selection= s.nextInt();
switch(selection) {
case 1:
add_new_item();
getupdates();
case 2:
Add_multiples_items();
getupdates();
case 3:
remove_unspecified_data();
getupdates();
case 4:
checkout();
getupdates();
case 5:
checkbudget();
getupdates();
case 6:
System.out.println("Stay Safe");
break;
default:
System.out.println("Invalid choice");
System.out.println("Please enter the valid choice");
getupdates();
}
}
public static int total_price() {
int total_price=0;
for (Entry<String, Item> entry : map.entrySet()) {
Item it=map.get(entry.getKey());
total_price+=it.getPrice()*it.get_quantity();
}
return total_price;
}
private static void checkbudget() {
System.out.print("Enter your Total Budget : ");
int budget=s.nextInt();
int totalprice=0;
System.out.println("Total Amount = "+total_price());
while(budget<total_price()) {
totalprice = remove_unspecified_data();
if(budget>=totalprice) {
break;
}
}
System.out.println();
System.out.println("Now updates cart : ");
checkout();
System.out.println();
}
private static void checkout() {
System.out.println(" Here list of Items in Your Cart");
int i=1;
int total_price=0;
System.out.println(" S.no Name of item Quantity price ");
System.out.println(" ");
for (Entry<String, Item> entry : map.entrySet()) {
Item it=map.get(entry.getKey());
System.out.println(" "+i+" "+entry.getKey()+" "+it.get_quantity()+" $"+it.getPrice()*it.get_quantity());
total_price+=it.getPrice()*it.get_quantity();
i++;
}
System.out.println();
System.out.println("Total Amount = "+total_price);
System.out.println();
System.out.println();
}
private static int remove_unspecified_data() {
System.out.print("Enter the item you want to remove from your cart : ");
String name=s.next();
Item it1=map.get(name);
int quant=it1.get_quantity();
if(quant>1) {
quant--;
it1.set_quantity(-1);
map.put(name, it1);
}
else {
map.remove(name, it1);
}
int total_price=total_price();
total_price-=it1.getPrice();
System.out.println();
System.out.println();
return total_price;
}
private static void Add_multiples_items() {
System.out.print("Enter the item you want to add in your cart : ");
String name=s.next();
System.out.println("Enter price of Item : ");
int price=s.nextInt();
System.out.print("Enter the quantity of that item you want to add : ");
int quan=s.nextInt();
if(map.containsKey(name)) {
Item it1=map.get(name);
it1.set_quantity(quan);
map.put(name, it1);
}
else {
Item it= new Item(name,price,quan);
map.put(name, it);
}
System.out.println();
System.out.println();
}
private static void add_new_item() {
System.out.print("Enter the item you want to add in your cart : ");
String name=s.next();
System.out.println("Enter price of Item : ");
int price=s.nextInt();
if(map.containsKey(name)) {
Item it1=map.get(name);
it1.set_quantity(1);
map.put(name, it1);
}
else {
Item it= new Item(name,price,1);
map.put(name, it);
}
System.out.println();
System.out.println();
}
}
class Item
{
private String name;
private int price;
private int quantity; //in cents
//Constructor
public Item(String n, int p,int quantity)
{
name = n;
price = p;
this. quantity=quantity;
}
public boolean equals(Item other)
{
return this.name.equals(other.name) && this.price == other.price;
}
//displays name of item and price in properly formatted manner
public String toString()
{
return name + ", price: $" + price/100 + "." + price%100;
}
//Getter methods
public int getPrice()
{
return price;
}
public int get_quantity()
{
return quantity;
}
public void set_quantity(int qa)
{
quantity+=qa;
}
public String getName()
{
return name;
}
}