Хранение различных товаров в itemData [index] [3] и запись в TEXTCustomerOrders.txt при «заказе» товара - PullRequest
0 голосов
/ 21 апреля 2020

Я хотел бы хранить различные элементы в массиве itemData[index][3] с [0] = price, [1] = quantity, [2] = pricePerUnit. У меня также есть метод, который позволяет мне заказать этот товар, в котором я буду сканировать по имени товара и иметь возможность сделать заказ из TEXTItemInfo.txt, а затем распечатать имя, цену и количество в TEXTCustomerOrders.txt. это и код могут быть ужасными, поэтому я извиняюсь заранее.

public void shopItems(String name, String quantity, String price) throws IOException { // need to be able to add
        itemData[index][0] = name;
        itemData[index][1] = quantity;
        itemData[index][2] = price;
        index++; // items to cart

    }
public void displayShopItems() throws IOException {
        String name = "";
        String quantity  = "";
        String price  = "";
        boolean shoppingIsDone = false;

        // read out what we have for the customer to pick
        Scanner inFile = new Scanner(new FileReader("src/TEXTItemInfo.txt"));
        String line = "";
        while (inFile.hasNextLine()) {
            line = inFile.nextLine();
            System.out.println(line);
        }

        System.out.println();
        //allow customer to pick what item and how much
        do {
            System.out.print("What would you like to add to your cart? Type \"Done\" to checkout ");
            name = scan.next();
            quantity = scan.next();
            price = "4"; // just a test value of 4
            if (itemData[index][0].equalsIgnoreCase("Done")) {
                shoppingIsDone = true;
            }

        } while (!shoppingIsDone); //when customer enters done, exit loop

        PrintWriter outputFile = new PrintWriter(new BufferedWriter(new FileWriter(
                "/Users/simonshampoo/eclipse-workspace/Final Project/src/TEXTCustomerOrders.txt", true))); 
        //writes their order out

        outputFile.println(itemData[index][0] + " , " + itemData[index][1] + " , " + itemData[index][2]); //not
        shopItems(itemData[index][0], itemData[index][1], itemData[index][2]);                          //sure
        shopItems(name, quantity, price);
        outputFile.close();

    }

По сути, в качестве примера у меня есть Bananas, 5, 5 в TEXTITemInfo.txt. Когда я заказываю Bananas, 1 с использованием displayShopItems(), я хочу, чтобы это значение изменилось на Bananas, 4, 5 в TEXTItemInfo.txt и в TEXTCustomerOrders.txt, чтобы написать Bananas. 1, 5.

Честно говоря, я думаю, что я действительно испортил фактически сохраняя имя, количество и цену в массивах, они равны нулю, и поэтому я ничего не могу сделать. Не уверен, как подойти к этому или я должен просто переписать это

...