From f599350d69f6fc19c361022855b43d466d94f88b Mon Sep 17 00:00:00 2001 From: "github-classroom[bot]" <66690702+github-classroom[bot]@users.noreply.github.com> Date: Fri, 6 Feb 2026 05:43:08 +0000 Subject: [PATCH 1/5] 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 21d65d2749ca8e2f2909b6d7a31ee6bb347783a0 Mon Sep 17 00:00:00 2001 From: mesheikbrown Date: Fri, 6 Feb 2026 14:05:09 -0500 Subject: [PATCH 2/5] JDK Changes --- .idea/encodings.xml | 2 ++ .idea/misc.xml | 3 ++- .idea/modules.xml | 8 -------- src/main/java/org/codedifferently/Main.java | 12 ++---------- 4 files changed, 6 insertions(+), 19 deletions(-) delete mode 100644 .idea/modules.xml 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..6350505 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/src/main/java/org/codedifferently/Main.java b/src/main/java/org/codedifferently/Main.java index 8a571aa..658b685 100644 --- a/src/main/java/org/codedifferently/Main.java +++ b/src/main/java/org/codedifferently/Main.java @@ -3,15 +3,7 @@ //TIP To Run code, press or // 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) { + System.out.println("mesheik"); } } From 38d92b1dc4e965875ff99715819772fb85159894 Mon Sep 17 00:00:00 2001 From: mesheikbrown Date: Mon, 9 Feb 2026 10:58:11 -0500 Subject: [PATCH 3/5] Scanner in main set up --- src/main/java/org/codedifferently/Budget.java | 15 ++++++++++++++ src/main/java/org/codedifferently/Main.java | 20 ++++++++++++++++--- src/main/java/org/codedifferently/Random.java | 4 ++++ 3 files changed, 36 insertions(+), 3 deletions(-) create mode 100644 src/main/java/org/codedifferently/Budget.java create mode 100644 src/main/java/org/codedifferently/Random.java diff --git a/src/main/java/org/codedifferently/Budget.java b/src/main/java/org/codedifferently/Budget.java new file mode 100644 index 0000000..ff3ef74 --- /dev/null +++ b/src/main/java/org/codedifferently/Budget.java @@ -0,0 +1,15 @@ +package org.codedifferently; + +public class Budget { + + public static double mainBudget(double amount, double percent) { + + double bill = amount *(percent/100); + return bill; + + + + + } + +} diff --git a/src/main/java/org/codedifferently/Main.java b/src/main/java/org/codedifferently/Main.java index 658b685..049f43f 100644 --- a/src/main/java/org/codedifferently/Main.java +++ b/src/main/java/org/codedifferently/Main.java @@ -1,9 +1,23 @@ package org.codedifferently; +import java.util.Scanner; + -//TIP To Run code, press or -// click the icon in the gutter. public class Main { public static void main(String[] args) { - System.out.println("mesheik"); + + //Makes new instance of scanner + Scanner scanner = new Scanner(System.in); + + System.out.println("Enter your name: "); + String name = scanner.nextLine(); + + System.out.println("Enter your budget: "); + double budget = scanner.nextDouble(); + + System.out.println("Enter a coupon code: "); + String couponCode = scanner.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 { +} From 8e18b9a026bf6b648311ad79fb4254351ed064d0 Mon Sep 17 00:00:00 2001 From: mesheikbrown Date: Mon, 9 Feb 2026 21:15:21 -0500 Subject: [PATCH 4/5] All methods are created --- src/main/java/org/codedifferently/Budget.java | 15 --------------- src/main/java/org/codedifferently/Coupon.java | 11 +++++++++++ src/main/java/org/codedifferently/ItemPrice.java | 15 +++++++++++++++ src/main/java/org/codedifferently/Main.java | 16 ++++++++++++---- src/main/java/org/codedifferently/Random.java | 4 ---- .../org/codedifferently/ReceiptGenerator.java | 13 +++++++++++++ src/main/java/org/codedifferently/SubTotal.java | 7 +++++++ src/main/java/org/codedifferently/Tax.java | 8 ++++++++ 8 files changed, 66 insertions(+), 23 deletions(-) delete mode 100644 src/main/java/org/codedifferently/Budget.java create mode 100644 src/main/java/org/codedifferently/Coupon.java create mode 100644 src/main/java/org/codedifferently/ItemPrice.java delete mode 100644 src/main/java/org/codedifferently/Random.java create mode 100644 src/main/java/org/codedifferently/ReceiptGenerator.java create mode 100644 src/main/java/org/codedifferently/SubTotal.java create mode 100644 src/main/java/org/codedifferently/Tax.java diff --git a/src/main/java/org/codedifferently/Budget.java b/src/main/java/org/codedifferently/Budget.java deleted file mode 100644 index ff3ef74..0000000 --- a/src/main/java/org/codedifferently/Budget.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.codedifferently; - -public class Budget { - - public static double mainBudget(double amount, double percent) { - - double bill = amount *(percent/100); - return bill; - - - - - } - -} diff --git a/src/main/java/org/codedifferently/Coupon.java b/src/main/java/org/codedifferently/Coupon.java new file mode 100644 index 0000000..772baa5 --- /dev/null +++ b/src/main/java/org/codedifferently/Coupon.java @@ -0,0 +1,11 @@ +package org.codedifferently; + +public class Coupon { + public double applyCoupon(String coupon, double total) { + if (coupon.equalsIgnoreCase("SAVE50")) { + return total * 0.5; + } + return total; + } + +} diff --git a/src/main/java/org/codedifferently/ItemPrice.java b/src/main/java/org/codedifferently/ItemPrice.java new file mode 100644 index 0000000..e9fea1a --- /dev/null +++ b/src/main/java/org/codedifferently/ItemPrice.java @@ -0,0 +1,15 @@ +package org.codedifferently; + +import java.util.Random; + +public class ItemPrice { + + public double mainBudget(Random random) { + double price = random.nextDouble() * 20 + 5; + return Math.round(price * 100.0) / 100.0; + + + + } + +} diff --git a/src/main/java/org/codedifferently/Main.java b/src/main/java/org/codedifferently/Main.java index 049f43f..d1d75f9 100644 --- a/src/main/java/org/codedifferently/Main.java +++ b/src/main/java/org/codedifferently/Main.java @@ -1,21 +1,29 @@ package org.codedifferently; import java.util.Scanner; +import java.util.Random; + + + public class Main { public static void main(String[] args) { //Makes new instance of scanner - Scanner scanner = new Scanner(System.in); + Scanner scr = new Scanner(System.in); + Random random = new Random(); + + System.out.println("Enter your name: "); - String name = scanner.nextLine(); + String name = scr.nextLine(); System.out.println("Enter your budget: "); - double budget = scanner.nextDouble(); + double budget = scr.nextDouble(); System.out.println("Enter a coupon code: "); - String couponCode = scanner.next(); + String couponCode = scr.nextLine(); + 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/ReceiptGenerator.java b/src/main/java/org/codedifferently/ReceiptGenerator.java new file mode 100644 index 0000000..eba7eb1 --- /dev/null +++ b/src/main/java/org/codedifferently/ReceiptGenerator.java @@ -0,0 +1,13 @@ +package org.codedifferently; + +import java.util.Random; + +public class ReceiptGenerator { + + public int mainBudget(Random random) { + return random.nextInt(9000) + 1000; + } + + + +} diff --git a/src/main/java/org/codedifferently/SubTotal.java b/src/main/java/org/codedifferently/SubTotal.java new file mode 100644 index 0000000..94e9a94 --- /dev/null +++ b/src/main/java/org/codedifferently/SubTotal.java @@ -0,0 +1,7 @@ +package org.codedifferently; + +public class SubTotal { + public double calculateSubTotal(double one, double two,double three ) { + return one + two + three; + } +} diff --git a/src/main/java/org/codedifferently/Tax.java b/src/main/java/org/codedifferently/Tax.java new file mode 100644 index 0000000..fa7be52 --- /dev/null +++ b/src/main/java/org/codedifferently/Tax.java @@ -0,0 +1,8 @@ +package org.codedifferently; + +public class Tax { + public double calculateTax(double subtotal, double taxRate) { + return subtotal * taxRate; + } + +} From b8acb23f597b53d38fcebf6cdb3424bb91a9ea6a Mon Sep 17 00:00:00 2001 From: mesheikbrown Date: Tue, 10 Feb 2026 00:45:58 -0500 Subject: [PATCH 5/5] Done project --- src/main/java/org/codedifferently/Coupon.java | 11 --- .../java/org/codedifferently/ItemPrice.java | 15 ---- src/main/java/org/codedifferently/Main.java | 33 +++++--- src/main/java/org/codedifferently/README.md | 80 +++++++++++++++++++ .../java/org/codedifferently/Receipt.java | 59 ++++++++++++++ .../org/codedifferently/ReceiptGenerator.java | 13 --- .../java/org/codedifferently/SubTotal.java | 7 -- src/main/java/org/codedifferently/Tax.java | 8 -- src/main/java/org/codedifferently/Visit.java | 26 ++++++ 9 files changed, 185 insertions(+), 67 deletions(-) delete mode 100644 src/main/java/org/codedifferently/Coupon.java delete mode 100644 src/main/java/org/codedifferently/ItemPrice.java create mode 100644 src/main/java/org/codedifferently/README.md create mode 100644 src/main/java/org/codedifferently/Receipt.java delete mode 100644 src/main/java/org/codedifferently/ReceiptGenerator.java delete mode 100644 src/main/java/org/codedifferently/SubTotal.java delete mode 100644 src/main/java/org/codedifferently/Tax.java create mode 100644 src/main/java/org/codedifferently/Visit.java diff --git a/src/main/java/org/codedifferently/Coupon.java b/src/main/java/org/codedifferently/Coupon.java deleted file mode 100644 index 772baa5..0000000 --- a/src/main/java/org/codedifferently/Coupon.java +++ /dev/null @@ -1,11 +0,0 @@ -package org.codedifferently; - -public class Coupon { - public double applyCoupon(String coupon, double total) { - if (coupon.equalsIgnoreCase("SAVE50")) { - return total * 0.5; - } - return total; - } - -} diff --git a/src/main/java/org/codedifferently/ItemPrice.java b/src/main/java/org/codedifferently/ItemPrice.java deleted file mode 100644 index e9fea1a..0000000 --- a/src/main/java/org/codedifferently/ItemPrice.java +++ /dev/null @@ -1,15 +0,0 @@ -package org.codedifferently; - -import java.util.Random; - -public class ItemPrice { - - public double mainBudget(Random random) { - double price = random.nextDouble() * 20 + 5; - return Math.round(price * 100.0) / 100.0; - - - - } - -} diff --git a/src/main/java/org/codedifferently/Main.java b/src/main/java/org/codedifferently/Main.java index d1d75f9..18e0112 100644 --- a/src/main/java/org/codedifferently/Main.java +++ b/src/main/java/org/codedifferently/Main.java @@ -1,31 +1,38 @@ package org.codedifferently; -import java.util.Scanner; -import java.util.Random; - - - +import java.util.Scanner; public class Main { public static void main(String[] args) { - - //Makes new instance of scanner Scanner scr = new Scanner(System.in); - Random random = new Random(); - - System.out.println("Enter your name: "); String name = scr.nextLine(); System.out.println("Enter your budget: "); double budget = scr.nextDouble(); + scr.nextLine(); // consume leftover newline System.out.println("Enter a coupon code: "); String couponCode = scr.nextLine(); - - - + // Create a Receipt object + Receipt receipt = new Receipt(); + receipt.generateItemPrices(); // generates 3 separate items + receipt.calculateSubtotal(); + receipt.applyCoupon(couponCode); + receipt.calculateTax(); + receipt.calculateFinalTotal(); + + // Create a Visit object + Visit visit = new Visit(name); + visit.generateReceiptCode(); + boolean withinBudget = visit.checkBudget(receipt.finalTotal, budget); + + // Print the receipt + System.out.println("\n--- Receipt ---"); + visit.printReceiptCode(); + receipt.printReceiptDetails(); + System.out.println("Within budget: " + withinBudget); } } diff --git a/src/main/java/org/codedifferently/README.md b/src/main/java/org/codedifferently/README.md new file mode 100644 index 0000000..002c905 --- /dev/null +++ b/src/main/java/org/codedifferently/README.md @@ -0,0 +1,80 @@ +Receipt Generator in Java +What It Does + +This program generates a simple receipt for three items. It calculates the subtotal, applies a coupon, adds tax, checks the budget, and gives a receipt code. + +• **How It Works** + +1. Ask the user for their name, budget, and coupon code. + + +2. Generate three random item prices. + + +3. Add the prices to get the subtotal. + + +4. Apply a 50% discount if the coupon code is SAVE50. + + +5. Calculate tax at 8%. + + +6. Calculate the final total. + + +7. Generate a receipt code from the first two letters of the name + random 4-digit number. + + +8. Check if the total is within the budget. + + +9. Print a simple receipt with all the details. + +• **Sample Output** + +Enter your name: +Alice + +Enter your budget: +150 + +Enter a coupon code: +SAVE50 + +--- Receipt --- + +Receipt Code: AL4821 + +Item 1 Price: $42.34 + +Item 2 Price: $57.89 + +Item 3 Price: $33.12 + +Subtotal: $133.35 + +Discounted Total: $66.67 + +Tax: $5.33 + +Final Total: $72.00 + +Within budget: true + + +• **Java Concepts Used** + +Classes and objects + +Methods + +Random numbers + +User input with Scanner + +Variables and data types + +Conditional statements (if) + +Printing output with System.out.println diff --git a/src/main/java/org/codedifferently/Receipt.java b/src/main/java/org/codedifferently/Receipt.java new file mode 100644 index 0000000..e12d701 --- /dev/null +++ b/src/main/java/org/codedifferently/Receipt.java @@ -0,0 +1,59 @@ +package org.codedifferently; + +import java.util.Random; + +public class Receipt { + double item1; + double item2; + double item3; + double subtotal; + double discountedTotal; + double taxAmount; + double finalTotal; + + private final double TAX_RATE = 0.08; // 8% tax + + // Generate 3 separate random item prices + public void generateItemPrices() { + Random random = new Random(); + item1 = 10 + (90 * random.nextDouble()); + item2 = 10 + (90 * random.nextDouble()); + item3 = 10 + (90 * random.nextDouble()); + } + + // Calculate subtotal + public void calculateSubtotal() { + subtotal = item1 + item2 + item3; + } + + // Apply coupon + public void applyCoupon(String couponCode) { + if (couponCode.equalsIgnoreCase("SAVE50")) { + discountedTotal = subtotal * 0.5; + } else { + discountedTotal = subtotal; + } + } + + // Calculate tax + public void calculateTax() { + taxAmount = discountedTotal * TAX_RATE; + } + + // Calculate final total + public void calculateFinalTotal() { + finalTotal = discountedTotal + taxAmount; + } + + // Print receipt details in a simple way + public void printReceiptDetails() { + System.out.println("Item 1 Price: $" + item1); + System.out.println("Item 2 Price: $" + item2); + System.out.println("Item 3 Price: $" + item3); + System.out.println("Subtotal: $" + subtotal); + System.out.println("Discounted Total: $" + discountedTotal); + System.out.println("Tax: $" + taxAmount); + System.out.println("Final Total: $" + finalTotal); + } + +} diff --git a/src/main/java/org/codedifferently/ReceiptGenerator.java b/src/main/java/org/codedifferently/ReceiptGenerator.java deleted file mode 100644 index eba7eb1..0000000 --- a/src/main/java/org/codedifferently/ReceiptGenerator.java +++ /dev/null @@ -1,13 +0,0 @@ -package org.codedifferently; - -import java.util.Random; - -public class ReceiptGenerator { - - public int mainBudget(Random random) { - return random.nextInt(9000) + 1000; - } - - - -} diff --git a/src/main/java/org/codedifferently/SubTotal.java b/src/main/java/org/codedifferently/SubTotal.java deleted file mode 100644 index 94e9a94..0000000 --- a/src/main/java/org/codedifferently/SubTotal.java +++ /dev/null @@ -1,7 +0,0 @@ -package org.codedifferently; - -public class SubTotal { - public double calculateSubTotal(double one, double two,double three ) { - return one + two + three; - } -} diff --git a/src/main/java/org/codedifferently/Tax.java b/src/main/java/org/codedifferently/Tax.java deleted file mode 100644 index fa7be52..0000000 --- a/src/main/java/org/codedifferently/Tax.java +++ /dev/null @@ -1,8 +0,0 @@ -package org.codedifferently; - -public class Tax { - public double calculateTax(double subtotal, double taxRate) { - return subtotal * taxRate; - } - -} diff --git a/src/main/java/org/codedifferently/Visit.java b/src/main/java/org/codedifferently/Visit.java new file mode 100644 index 0000000..33ef11b --- /dev/null +++ b/src/main/java/org/codedifferently/Visit.java @@ -0,0 +1,26 @@ +package org.codedifferently; + +public class Visit { + String name; + String receiptCode; + + public Visit(String name) { + this.name = name; + } + + // Generate receipt code: first 2 letters of name + random 4-digit number + public void generateReceiptCode() { + int visitId = (int) (Math.random() * 9000) + 1000; + receiptCode = name.substring(0, Math.min(2, name.length())).toUpperCase() + visitId; + } + + // Check if final total is within the user's budget + public boolean checkBudget(double finalTotal, double budget) { + return finalTotal <= budget; + } + + // Print the receipt code + public void printReceiptCode() { + System.out.println("Receipt Code: " + receiptCode); + } +}