From d3127da4a5feb8fc5ae17c2d962412008af7c31f Mon Sep 17 00:00:00 2001 From: CPlaiz Date: Sat, 13 Dec 2025 17:18:57 +0100 Subject: [PATCH] Add main program loop --- src/main/java/org/example/Main.java | 53 +++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/src/main/java/org/example/Main.java b/src/main/java/org/example/Main.java index ef56760..6a1e17d 100644 --- a/src/main/java/org/example/Main.java +++ b/src/main/java/org/example/Main.java @@ -1,7 +1,60 @@ package org.example; +import java.io.File; +import java.io.FileNotFoundException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Scanner; + public class Main { public static void main(String[] args) { + HashMap products = loadProductsFromFile("resources/produkte.csv"); + Shop shop = new Shop(products); + TUI tui = new TUI(shop); + Scanner scanner = new Scanner(System.in); + while (true) { + System.out.print("> "); + String input = scanner.nextLine(); + tui.processInput(input); + if (tui.exit) { + break; + } + } + } + public static HashMap loadProductsFromFile(String path) { + HashMap products = new HashMap<>(); + ArrayList lines; + try { + lines = readFile(path); + } catch (FileNotFoundException e) { + lines = new ArrayList<>(); + } + for (String line : lines) { + String[] tokens = line.split(","); + int id = Integer.parseInt(tokens[0]); + String name = tokens[1]; + float weight = Float.parseFloat(tokens[2]); + float price = Float.parseFloat(tokens[3]); + float vatPortion = Float.parseFloat(tokens[4]); + int stock = Integer.parseInt(tokens[5]); + products.put(new Product(id, name, weight, price, vatPortion), stock); + } + return products; + } + + public static ArrayList readFile(String path) throws FileNotFoundException { + + ArrayList lines = new ArrayList<>(); + Scanner sc = new Scanner(new File(path)); + + while (sc.hasNextLine()) { + lines.add(sc.nextLine()); + } + + sc.close(); + + return lines; } } \ No newline at end of file