Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Scanner;
- import java.util.ArrayList;
- import java.io.*;
- /**
- * Shop.java
- *
- * Uses the Item class to create items and add them to a shopping
- * cart stored in an ArrayList.
- *
- * ACIT1515, Fall 2011, Lab 7
- * David Tran a00801942
- *
- */
- public class Shop {
- public static void main(String[] args) throws IOException{
- Item item;
- ArrayList <String> cart = new ArrayList<String>();
- Scanner scan = new Scanner(System.in);
- Scanner fileScan, lineScan;
- String fileName, itemName;
- double cartTotal = 0;
- System.out.println("==================================================");
- System.out.println("||---------Smart Shoppers Shopping System-------||");
- System.out.println("==================================================");
- System.out.println();
- System.out.print("Enter your shopping list: ");
- fileName = scan.nextLine();
- fileScan = new Scanner(new File(fileName));
- do {
- double itemPrice = 0;
- int itemQuantity = 0;
- String itemInfo = "";
- itemInfo = fileScan.nextLine();
- lineScan = new Scanner(itemInfo);
- lineScan.useDelimiter(",");
- // using the comma as the delimiter to seperate name, price and quantity.
- itemName = lineScan.next();
- // lets the first set of string variables up to the first comma to
- // be the name of the item
- while(lineScan.hasNext()){
- itemPrice = lineScan.nextDouble();
- itemQuantity = lineScan.nextInt();
- cartTotal += (itemPrice*itemQuantity);
- // accumulatively adds up the total amount of each item's price
- // multiplied by their quantity
- item = new Item(itemName, itemPrice, itemQuantity);
- cart.add(item.toString());
- // calling the ArrayList function to add the toString method of
- // each item into the cells of the List.
- System.out.println(item.toString());
- // Also prints out the toString of the item class.
- }
- } while (fileScan.hasNextLine());
- double cutoff = 0;
- // let the cutoff equal zero, and do the following whenever the cutoff
- // is never equal to zero. If the cutoff is zero, there is no need to
- // remove any more items that cost more than the cutoff.
- do{
- if (cutoff > 0){
- // if it is greater than zero, do this.
- // No such thing is negative currency
- // unless we owe customers money. In this program, we do not
- // do refunds.
- Scanner fileScan2 = new Scanner(new File(fileName));
- // do a new file scan of our shopping list
- cartTotal = 0;
- // reset the total amount owed to zero.
- cart.clear();
- // clear all contents of the array.
- do {
- double itemPrice = 0;
- int itemQuantity = 0;
- String itemInfo = "";
- itemInfo = fileScan2.nextLine();
- lineScan = new Scanner(itemInfo);
- lineScan.useDelimiter(",");
- itemName = lineScan.next();
- while(lineScan.hasNext()){
- itemPrice = lineScan.nextDouble();
- if (itemPrice > cutoff){
- // if the price of the item is greater than the
- // cutoff point, terminate. Otherwise, continue.
- break;
- }
- else {
- itemQuantity = lineScan.nextInt();
- cartTotal += (itemPrice*itemQuantity);
- item = new Item(itemName, itemPrice, itemQuantity);
- cart.add(item.toString());
- System.out.println(item.toString());
- }
- }
- } while (fileScan2.hasNextLine());
- System.out.println();
- System.out.println("Your Shopping Cart:");
- System.out.println();
- // System.out.println(cart.toString());
- // Above looks ugly, trying a different method
- int index = 0;
- while (index < cart.size()){
- System.out.println(cart.get(index));
- index++;
- }
- System.out.println("-------------------------------------------------");
- System.out.println("Your total: $" + cartTotal);
- System.out.println();
- System.out.print("Cutoff Price for Cart: ");
- cutoff = scan.nextDouble();
- System.out.println();
- // continue doing this until the customer is satisfied with the
- // cutoff point of their shopping list.
- }
- else{
- System.out.println();
- System.out.println("Your Shopping Cart:");
- System.out.println();
- // System.out.println(cart.toString());
- // Above looks ugly, trying a different method
- int index = 0;
- while (index < cart.size()){
- System.out.println(cart.get(index));
- index++;
- }
- System.out.println("-------------------------------------------------");
- System.out.println("Your total: $" + cartTotal);
- System.out.println();
- System.out.print("Cutoff Price for Cart: ");
- cutoff = scan.nextDouble();
- System.out.println();
- }
- } while (cutoff != 0);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement