// 8:12 public class UpcReceiptCalc { public static void main() { (new UpcReceiptCalc()).calculateSalesReceipt(); } public void calculateSalesReceipt() { readProductDB(); processUPCs(); assembleSalesReceipt(); showInvalidList(); } public void readProductDB() { } public void processUPCs() { lookupProduct(); countProduct(); computeTotal(); } public void assembleSalesReceipt() { } public void showInvalidList() { } public void lookupProduct() { verifyUPC(); } public void countProduct() { } public void computeTotal() { } public void verifyUPC() { } // Data Structures // List of products. List productDB; // List of products and itemcounts, in order of arrival. List purchaseList; // List of invalid items, in order of arrival. List invalidList; String rawUPC; String verifiedUPC; String productName; String price; int quantityPurchased; int subtotal; int totalPrice; int totalItems; class Product { String upc; String productName; int price; // in cents } class ProductCount { Product item; int itemCount; } class InvalidItem { String upc; String message; } } // 8:25