From 54b1a1b0d0fa319c138c3d542e8d79fbecdfa14a Mon Sep 17 00:00:00 2001 From: "github-classroom[bot]" <66690702+github-classroom[bot]@users.noreply.github.com> Date: Fri, 6 Feb 2026 18:35:37 +0000 Subject: [PATCH 1/7] add deadline --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9c12bdd..2362803 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,4 @@ +[![Review Assignment Due Date](https://classroom.github.com/assets/deadline-readme-button-22041afd0340ce965d47ae6ef1cefeee28c7c493a6346c4f15d667ab976d596c.svg)](https://classroom.github.com/a/6tlCTWq0) # 🧾 Mystery Receipt Generator (Java CLI Project) ## Overview From e8d7d1425536b72d79f365049e99b1d8ba7ddcba Mon Sep 17 00:00:00 2001 From: whblue261 Date: Fri, 6 Feb 2026 14:59:02 -0500 Subject: [PATCH 2/7] update weekend project --- .DS_Store | Bin 6148 -> 6148 bytes .idea/encodings.xml | 2 + .idea/misc.xml | 3 +- .idea/modules.xml | 8 --- pom.xml | 4 +- .../org/codedifferently/Calculations.java | 4 ++ src/main/java/org/codedifferently/Main.java | 50 +++++++++++++----- src/main/java/org/codedifferently/Random.java | 4 ++ .../java/org/codedifferently/StringLogic.java | 4 ++ 9 files changed, 56 insertions(+), 23 deletions(-) delete mode 100644 .idea/modules.xml create mode 100644 src/main/java/org/codedifferently/Calculations.java create mode 100644 src/main/java/org/codedifferently/Random.java create mode 100644 src/main/java/org/codedifferently/StringLogic.java diff --git a/.DS_Store b/.DS_Store index a70ee6b3e54c1471cfc4e0c3a1779f6f955424d5..d6f6f331dd3df2b7c348f47612ec48c4d996448f 100644 GIT binary patch delta 48 zcmZoMXfc@JFUrcmz`)4BAi%&-!H~<49Ze(7`s1A}~X2@qKWhn8?K}Z5c9f4Ty TKNv7DZ02FQ%DS1I<1aq|=U^3N diff --git a/.idea/encodings.xml b/.idea/encodings.xml index e7cd972..b2320b5 100644 --- a/.idea/encodings.xml +++ b/.idea/encodings.xml @@ -1,6 +1,8 @@ + + diff --git a/.idea/misc.xml b/.idea/misc.xml index b28c0fb..40abf8d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -5,10 +5,11 @@ - + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index 36361c6..0000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/pom.xml b/pom.xml index 24314b9..6a72441 100644 --- a/pom.xml +++ b/pom.xml @@ -9,8 +9,8 @@ 1.0-SNAPSHOT - 25 - 25 + 21 + 21 UTF-8 diff --git a/src/main/java/org/codedifferently/Calculations.java b/src/main/java/org/codedifferently/Calculations.java new file mode 100644 index 0000000..152d8e6 --- /dev/null +++ b/src/main/java/org/codedifferently/Calculations.java @@ -0,0 +1,4 @@ +package org.codedifferently; + +public class Calculations { +} diff --git a/src/main/java/org/codedifferently/Main.java b/src/main/java/org/codedifferently/Main.java index 8a571aa..1401ac3 100644 --- a/src/main/java/org/codedifferently/Main.java +++ b/src/main/java/org/codedifferently/Main.java @@ -1,17 +1,43 @@ package org.codedifferently; +import java.util.Scanner; + //TIP To Run code, press or -// click the icon in the gutter. +// click the icon in the gutter. public class Main { - static void main() { - //TIP Press with your caret at the highlighted text - // to see how IntelliJ IDEA suggests fixing it. - IO.println(String.format("Hello and welcome!")); - - for (int i = 1; i <= 5; i++) { - //TIP Press to start debugging your code. We have set one breakpoint - // for you, but you can always add more by pressing . - IO.println("i = " + i); - } + public static void main(String[] args) { + Scanner input = new Scanner( System.in); + + System.out.println("Enter your name: "); + String name = input.next(); + + System.out.println("Input budget: "); + double budget = input.nextDouble();; + + System.out.println("Enter coupon code: "); + String code = input.next(); + + + + + + + + + + + + + + + + + + + + + + + } } -} + diff --git a/src/main/java/org/codedifferently/Random.java b/src/main/java/org/codedifferently/Random.java new file mode 100644 index 0000000..8745080 --- /dev/null +++ b/src/main/java/org/codedifferently/Random.java @@ -0,0 +1,4 @@ +package org.codedifferently; + +public class Random { +} diff --git a/src/main/java/org/codedifferently/StringLogic.java b/src/main/java/org/codedifferently/StringLogic.java new file mode 100644 index 0000000..19461cf --- /dev/null +++ b/src/main/java/org/codedifferently/StringLogic.java @@ -0,0 +1,4 @@ +package org.codedifferently; + +public class StringLogic { +} From 82737860f47e1c03c6903b000568db74e89a1b03 Mon Sep 17 00:00:00 2001 From: whblue261 Date: Fri, 6 Feb 2026 15:02:03 -0500 Subject: [PATCH 3/7] update receipt --- .../java/org/codedifferently/{StringLogic.java => Receipt.java} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/main/java/org/codedifferently/{StringLogic.java => Receipt.java} (100%) diff --git a/src/main/java/org/codedifferently/StringLogic.java b/src/main/java/org/codedifferently/Receipt.java similarity index 100% rename from src/main/java/org/codedifferently/StringLogic.java rename to src/main/java/org/codedifferently/Receipt.java From 45ff8287571223b53111af2ab8e26e497bbba59e Mon Sep 17 00:00:00 2001 From: whblue261 Date: Sat, 7 Feb 2026 21:43:24 -0500 Subject: [PATCH 4/7] update project --- .../org/codedifferently/Calculations.java | 21 +++++- src/main/java/org/codedifferently/Main.java | 4 ++ src/main/java/org/codedifferently/Random.java | 4 -- .../java/org/codedifferently/RandomGen.java | 68 +++++++++++++++++++ .../java/org/codedifferently/Receipt.java | 4 +- 5 files changed, 95 insertions(+), 6 deletions(-) delete mode 100644 src/main/java/org/codedifferently/Random.java create mode 100644 src/main/java/org/codedifferently/RandomGen.java diff --git a/src/main/java/org/codedifferently/Calculations.java b/src/main/java/org/codedifferently/Calculations.java index 152d8e6..b0baa10 100644 --- a/src/main/java/org/codedifferently/Calculations.java +++ b/src/main/java/org/codedifferently/Calculations.java @@ -1,4 +1,23 @@ package org.codedifferently; public class Calculations { -} +RandomGen random = new RandomGen(); + + public double calculateTax(double amount){ + + return amount * random.stateTax(); + + } + + public double subTotalBill(double bill) { + + return random.itemPrices() + random.itemPrices() + random.itemPrices(); + + } + + public double finalTotalBill(double bill, double taxAmt, double discount ){ + + return (bill + taxAmt) - discount; + } + + } diff --git a/src/main/java/org/codedifferently/Main.java b/src/main/java/org/codedifferently/Main.java index 1401ac3..e742d83 100644 --- a/src/main/java/org/codedifferently/Main.java +++ b/src/main/java/org/codedifferently/Main.java @@ -8,6 +8,9 @@ public class Main { public static void main(String[] args) { Scanner input = new Scanner( System.in); + + System.out.println(" Welcome to Maxx's Boutique"); + System.out.println("Enter your name: "); String name = input.next(); @@ -36,6 +39,7 @@ public static void main(String[] args) { + } diff --git a/src/main/java/org/codedifferently/Random.java b/src/main/java/org/codedifferently/Random.java deleted file mode 100644 index 8745080..0000000 --- a/src/main/java/org/codedifferently/Random.java +++ /dev/null @@ -1,4 +0,0 @@ -package org.codedifferently; - -public class Random { -} diff --git a/src/main/java/org/codedifferently/RandomGen.java b/src/main/java/org/codedifferently/RandomGen.java new file mode 100644 index 0000000..d2e40e2 --- /dev/null +++ b/src/main/java/org/codedifferently/RandomGen.java @@ -0,0 +1,68 @@ +package org.codedifferently; +import java.util.Random; + + +public class RandomGen { + public static Random myRandom = new Random(); + + + + public static int generateVisitId() { + return myRandom.nextInt(9000 + 1000); + + } + + + public double itemPrices() { + return myRandom.nextDouble(3.00,30.00 ); + + } + + public double stateTax() { + return myRandom.nextDouble(0.0, 0.011 ); + + } + + public double discountTotal() { + return myRandom.nextDouble(6.00, 15.00 ); + + } + +} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/java/org/codedifferently/Receipt.java b/src/main/java/org/codedifferently/Receipt.java index 19461cf..1afe6dc 100644 --- a/src/main/java/org/codedifferently/Receipt.java +++ b/src/main/java/org/codedifferently/Receipt.java @@ -1,4 +1,6 @@ package org.codedifferently; -public class StringLogic { +public class Receipt { + + } From ce78cfdf5e21c3019f55d7f1db52ca204db26d59 Mon Sep 17 00:00:00 2001 From: whblue261 Date: Sun, 8 Feb 2026 20:39:31 -0500 Subject: [PATCH 5/7] up 2 calculations --- src/main/java/org/codedifferently/Calculations.java | 9 ++++++++- src/main/java/org/codedifferently/Main.java | 3 +++ src/main/java/org/codedifferently/RandomGen.java | 6 +++--- 3 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/codedifferently/Calculations.java b/src/main/java/org/codedifferently/Calculations.java index b0baa10..877b578 100644 --- a/src/main/java/org/codedifferently/Calculations.java +++ b/src/main/java/org/codedifferently/Calculations.java @@ -1,7 +1,9 @@ package org.codedifferently; public class Calculations { -RandomGen random = new RandomGen(); + public static double finalTotalBill; + + RandomGen random = new RandomGen(); public double calculateTax(double amount){ @@ -20,4 +22,9 @@ public double finalTotalBill(double bill, double taxAmt, double discount ){ return (bill + taxAmt) - discount; } + public double roundedTotal(double finalTotalBill){ + + return Math.round(finalTotalBill*100)/100; + } + } diff --git a/src/main/java/org/codedifferently/Main.java b/src/main/java/org/codedifferently/Main.java index e742d83..22e90f2 100644 --- a/src/main/java/org/codedifferently/Main.java +++ b/src/main/java/org/codedifferently/Main.java @@ -21,6 +21,9 @@ public static void main(String[] args) { String code = input.next(); + double finalTotal = Calculations.finalTotalBill; + + diff --git a/src/main/java/org/codedifferently/RandomGen.java b/src/main/java/org/codedifferently/RandomGen.java index d2e40e2..c1b4098 100644 --- a/src/main/java/org/codedifferently/RandomGen.java +++ b/src/main/java/org/codedifferently/RandomGen.java @@ -7,7 +7,7 @@ public class RandomGen { - public static int generateVisitId() { + public int generateVisitId() { return myRandom.nextInt(9000 + 1000); } @@ -19,12 +19,12 @@ public double itemPrices() { } public double stateTax() { - return myRandom.nextDouble(0.0, 0.011 ); + return myRandom.nextDouble(0.005, 0.007 ); } public double discountTotal() { - return myRandom.nextDouble(6.00, 15.00 ); + return myRandom.nextDouble(1.00, 5.00 ); } From 457f68a087b074b809340d538e630b70a566644f Mon Sep 17 00:00:00 2001 From: whblue261 Date: Mon, 9 Feb 2026 12:04:27 -0500 Subject: [PATCH 6/7] finished main --- .../org/codedifferently/Calculations.java | 22 +++++++----- src/main/java/org/codedifferently/Main.java | 36 +++++++++++++++++-- .../java/org/codedifferently/RandomGen.java | 8 ++--- 3 files changed, 51 insertions(+), 15 deletions(-) diff --git a/src/main/java/org/codedifferently/Calculations.java b/src/main/java/org/codedifferently/Calculations.java index 877b578..9137252 100644 --- a/src/main/java/org/codedifferently/Calculations.java +++ b/src/main/java/org/codedifferently/Calculations.java @@ -3,28 +3,32 @@ public class Calculations { public static double finalTotalBill; - RandomGen random = new RandomGen(); - public double calculateTax(double amount){ - return amount * random.stateTax(); + public static double calculateTax(double subTotal, double stateTax ){ + + return subTotal * stateTax; } + public static double totalBeforeDiscount( double subTotal, double taxTotal){ - public double subTotalBill(double bill) { + return subTotal + taxTotal; + } - return random.itemPrices() + random.itemPrices() + random.itemPrices(); + public static double subTotalBill (double firstItem, double secondItem, double thirdItem ) { + return firstItem + secondItem + thirdItem; } - public double finalTotalBill(double bill, double taxAmt, double discount ){ + public static double finalTotalBill(double total, double discountAmt){ - return (bill + taxAmt) - discount; + return total - discountAmt; } - public double roundedTotal(double finalTotalBill){ + public static double roundedUp(double discountedTotal){ + + return Math.round(discountedTotal *100.0)/100.0; - return Math.round(finalTotalBill*100)/100; } } diff --git a/src/main/java/org/codedifferently/Main.java b/src/main/java/org/codedifferently/Main.java index 22e90f2..0af567b 100644 --- a/src/main/java/org/codedifferently/Main.java +++ b/src/main/java/org/codedifferently/Main.java @@ -1,5 +1,6 @@ package org.codedifferently; +import java.util.Random; import java.util.Scanner; //TIP To Run code, press or @@ -20,8 +21,39 @@ public static void main(String[] args) { System.out.println("Enter coupon code: "); String code = input.next(); - - double finalTotal = Calculations.finalTotalBill; + int idNumber = RandomGen.generateVisitId(); + double stateTax = RandomGen.stateTax(); + double discountAmt = RandomGen.discountTotal(); + + double firstItem = RandomGen.itemPrice(); + double secondItem = RandomGen.itemPrice(); + double thirdItem = RandomGen.itemPrice(); + + double subTotal = Calculations.subTotalBill(firstItem,secondItem,thirdItem); + double taxTotal = Calculations.calculateTax(subTotal,stateTax); + double total = Calculations.totalBeforeDiscount(subTotal, taxTotal); + + double discountedTotal = Calculations.finalTotalBill(total,discountAmt); + double roundedTotal = Calculations.roundedUp(discountedTotal); + + Receipt.printReceipt(name, + idNumber, + firstItem, + secondItem, + thirdItem, + subTotal, + taxTotal, + discountedTotal, + roundedTotal); + double remaining = budget - roundedTotal; + if(remaining >= 0) { + System.out.printf("You have $%.2f left in your budget.%n", remaining); + } + else { + System.out.printf("You are $%.2f over your budget!%n"); + + } + input.close(); diff --git a/src/main/java/org/codedifferently/RandomGen.java b/src/main/java/org/codedifferently/RandomGen.java index c1b4098..50de8a7 100644 --- a/src/main/java/org/codedifferently/RandomGen.java +++ b/src/main/java/org/codedifferently/RandomGen.java @@ -7,23 +7,23 @@ public class RandomGen { - public int generateVisitId() { + public static int generateVisitId() { return myRandom.nextInt(9000 + 1000); } - public double itemPrices() { + public static double itemPrice() { return myRandom.nextDouble(3.00,30.00 ); } - public double stateTax() { + public static double stateTax() { return myRandom.nextDouble(0.005, 0.007 ); } - public double discountTotal() { + public static double discountTotal() { return myRandom.nextDouble(1.00, 5.00 ); } From d79d3862af940f09f1e6352b90a185f861fe4ab3 Mon Sep 17 00:00:00 2001 From: whblue261 Date: Mon, 9 Feb 2026 13:30:06 -0500 Subject: [PATCH 7/7] completed weekend w/o readme --- src/main/java/org/codedifferently/Main.java | 12 +++- .../java/org/codedifferently/Receipt.java | 70 +++++++++++++++++++ 2 files changed, 79 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/codedifferently/Main.java b/src/main/java/org/codedifferently/Main.java index 0af567b..33f5f4f 100644 --- a/src/main/java/org/codedifferently/Main.java +++ b/src/main/java/org/codedifferently/Main.java @@ -17,6 +17,7 @@ public static void main(String[] args) { System.out.println("Input budget: "); double budget = input.nextDouble();; + input.nextLine(); System.out.println("Enter coupon code: "); String code = input.next(); @@ -32,19 +33,24 @@ public static void main(String[] args) { double subTotal = Calculations.subTotalBill(firstItem,secondItem,thirdItem); double taxTotal = Calculations.calculateTax(subTotal,stateTax); double total = Calculations.totalBeforeDiscount(subTotal, taxTotal); + discountAmt = Receipt.applyExtraCoupon(discountAmt,code); double discountedTotal = Calculations.finalTotalBill(total,discountAmt); double roundedTotal = Calculations.roundedUp(discountedTotal); - Receipt.printReceipt(name, + Receipt.printReceipt( + name, + code, idNumber, + discountAmt, firstItem, secondItem, thirdItem, subTotal, taxTotal, - discountedTotal, - roundedTotal); + roundedTotal + ); + double remaining = budget - roundedTotal; if(remaining >= 0) { System.out.printf("You have $%.2f left in your budget.%n", remaining); diff --git a/src/main/java/org/codedifferently/Receipt.java b/src/main/java/org/codedifferently/Receipt.java index 1afe6dc..62be55c 100644 --- a/src/main/java/org/codedifferently/Receipt.java +++ b/src/main/java/org/codedifferently/Receipt.java @@ -2,5 +2,75 @@ public class Receipt { + public static String generateRecieptId(String name, int idNumber) { + String cleanName = name.trim().toUpperCase(); + String prefix = cleanName.substring(0, Math.min(3, cleanName.length())); + return prefix + idNumber; + } + public static boolean isCouponValid(String code) { + String cleanedCoupon = code.trim(); + return cleanedCoupon.equalsIgnoreCase("SAVE10") + || cleanedCoupon.equalsIgnoreCase("VIP"); + } + + public static double applyExtraCoupon(double discountAmt, String code) { + if (isCouponValid(code)) { + return discountAmt + 2.00; + } + return discountAmt; + } + + public static void couponMessage(String code) { + if (isCouponValid(code)) { + System.out.println("Congratulations !!! You earned 2.00 off."); + } else { + System.out.println("Sorry this isnt a valid code."); + } + } + + + public static void printReceipt( + String name, + String code, + int idNumber, + double discountAmt, + double firstItem, + double secondItem, + double thirdItem, + double subTotal, + double taxTotal, + double roundedTotal) { + + String customerId = generateRecieptId(name, idNumber); + + System.out.println("\n================================="); + System.out.println(" Maxx's Boutique"); + System.out.println("==================================="); + System.out.println("Customer Name: " + name); + System.out.println("Receipt Id: " + customerId); + System.out.println("Coupon Entered: " + code); + + couponMessage(code); + System.out.println(); + + System.out.printf("Item 1: $%.2f%n", firstItem); + System.out.printf("Item 2: $%.2f%n", secondItem); + System.out.printf("Item 3: $%.2f%n", thirdItem); + + System.out.printf("%nSubtotal: $%.2f%n", subTotal); + System.out.printf("Tax due: $%.2f%n", taxTotal); + System.out.printf("You saved: $%.2f%n", discountAmt); + System.out.printf("Total: $%.2f%n", roundedTotal); + + System.out.println("===========================\n"); + } } + + + + + + + +