complet project

This commit is contained in:
2026-05-20 09:41:00 +03:30
parent 151d9feb70
commit 9c940c1cfb
2 changed files with 25 additions and 25 deletions
+1 -1
View File
@@ -29,7 +29,7 @@ public class Main {
Product product = new Product(id , name , price);
productCatalog.add(product);
}
+24 -24
View File
@@ -9,10 +9,10 @@ public class ReportGenerator {
private final String ordersFilePath;
private final List<Product> productList;
private double totalFinalCost;
private int totalQuantity;
private double totalDiscountValue;
private int totalInvalidLines;
private double totalFinalCost =0;
private int totalQuantity=0;
private double totalDiscountValue=0;
private int totalInvalidLines=0;
public ReportGenerator(String ordersFilePath, List<Product> productList) {
this.ordersFilePath = ordersFilePath;
@@ -26,38 +26,42 @@ public class ReportGenerator {
try {
input = new Scanner(inputfile);
} catch (FileNotFoundException e) {
System.out.println("there is no csv file to open it");;
System.out.println("We cannot open csv file");;
}
while (input.hasNextLine()){
input.useDelimiter(",");
try{
int id = input.nextInt();
int quantity = input.nextInt();
int discount = input.nextInt();
if(quantity<0 || discount<0 || discount>= 100 || id <= 0 || id > 9){
String line = input.nextLine();
String[] data = line.split(",");
int id = Integer.parseInt(data[0]);
int quantity = Integer.parseInt(data[1]);
int discount = Integer.parseInt(data[2]);
if(quantity <= 0 || discount<0 || discount>= 100 || id <= 0 || id > 9){
totalInvalidLines++;
continue;
}
double priceOfproduct = 0;
for (Product p : productList){
if(id == p.getProductID()){
priceOfproduct = p.getPrice();
Product myProduct = null;
for (Product p : productList) {
if (p.getProductID() == id) {
myProduct = p;
break;
}
}
if(priceOfproduct == 0){
if (myProduct == null) {
totalInvalidLines++;
continue;
}
double subtotal = quantity * priceOfproduct;
double discountValue = subtotal * discount / 100 ;
double finalCost = subtotal - discountValue;
double subtotal = quantity * myProduct.getPrice();
double discountValue = subtotal * (discount / 100.0);
double finalCost = subtotal - discountValue;
totalQuantity += quantity;
totalFinalCost += finalCost;
@@ -65,11 +69,6 @@ public class ReportGenerator {
}catch (NumberFormatException e){
totalInvalidLines++;
continue;
@@ -129,9 +128,10 @@ public class ReportGenerator {
report.println("=======REPORT========");
report.println("Totsl Quantity sold :" + totalQuantity);
report.println("Toal final cost: $" + totalFinalCost);
report.println("TOtal discount value : $" + totalDiscountValue);
report.println("Total discount value : $" + totalDiscountValue);
report.println("Invalid rows: " + totalInvalidLines);
report.println("=====================");
report.close();
} catch (FileNotFoundException e) {
throw new RuntimeException(e);