Необходимо, чтобы пользовательский ввод сохранялся в arrayList и сохранялся в текстовый файл, чтобы можно было выполнить возврат после запроса - PullRequest
1 голос
/ 03 июля 2019

Я пытаюсь, чтобы мой пользователь прочитал из моего меню и выбрал вариант 1 (добавить название продукта, название магазина, дату покупки и стоимость), вариант 2, чтобы отобразить arrayList с объектами покупки, которые были введены, и параметр3 Выйдите из программы и поблагодарите пользователя за использование моей программы, хотя есть исключения, которые гарантируют, что пользователь не введет и допустимые записи.Теперь мне нужно иметь возможность сохранять в текстовый файл и иметь возможность восстановить его для просмотра или изменения.

Я создал свое меню и считаю, что правильно настроил свой arrayList для правильного пользователяУ меня есть методы для каждой строки, которые пользователь будет вводить, и исключения, чтобы убедиться, что входные данные действительны

public static void main(String[] args) throws Exception {
    //Create menu options 
    TheMenu();
}

public static void TheMenu() {
    Scanner input = new Scanner(System.in);
    String purchase[] = new String[4];


    int option;
    do { // loop until Exit (option 3) is selected
        System.out.println("\nMenu Options");
        System.out.println("\n1 Add a purchase");
        System.out.println("\n2 Display a purchase");
        System.out.println("\n3 Exit");

        option = input.nextInt();

        if (option == 1) {
            displayPurchaseObjects(purchase);
        }

        if (option == 2) {
            System.out.println();
        }

        while (option == 3) 
            System.out.println("Thank you for using purchase programmer!");
        System.exit(3); 


    //Create a list to store Purchase objects
    ArrayList<String> displayPurchaseObjects = new ArrayList<>();

    while(input.hasNext()) {
        System.out.println("Enter the product name "); 
        String productName = input.next();
        System.out.print("Enter the store name"); 
        String storeName = input.next();
        System.out.println("Enter the purchase date (i.e. 06/30/2019) ");
        int purchaseDate = input.nextInt();
        System.out.println("Enter the cost ");
        double cost = input.nextDouble();
    }
}

}

    public void  productName(String productName) { 
        try {
            for(int i = 1; i < productName.length(); i++) { 
        }       
    }
        catch(Exception e) {
            System.out.println("Please enter a product name ");         
        }
    }

    public void storeName(String storeName) {
        try {
            for(int i = 1; i < storeName.length(); i++) { 
        }       
    }
        catch(Exception e) {
            System.out.println("Please enter a store name");
        }
    }

    public void purchaseDate(String date) {
        DateTimeFormatter format = DateTimeFormatter.ofPattern(date);
        try {
            format.parse(date);
        }
        catch(Exception e) {
            System.out.println("Invalid date");
        }
    }

    public void cost(double newCost) 
         throws InputMismatchException{
        double cost;
        if(newCost >= 1)
            cost = newCost;
        else 
            throw new InputMismatchException("Cost must be a integer and more the $0 ");
    }

Я получаю ошибку компиляции из-за«}», который я не могу найти причину, и программа должна позволять мне делать выбор (1,2 или 3) и должна иметь возможность добавлять мои объекты покупки в мой «displayPurchaseObjects» arrayList

1 Ответ

0 голосов
/ 03 июля 2019

Если я ясно понял ваш вопрос, проблема под рукой - ошибка компиляции - не удалось найти "}".

В вашем коде вы пропускаете "}" после этого -

do { // loop until Exit (option 3) is selected
    System.out.println("\nMenu Options");
    System.out.println("\n1 Add a purchase");
    System.out.println("\n2 Display a purchase");
    System.out.println("\n3 Exit");

    option = input.nextInt();

    if (option == 1) {
        displayPurchaseObjects(purchase);
    }

    if (option == 2) {
        System.out.println();
    }

} while (option == 3);

System.out.println("Thank you for using purchase programmer!");
// Non zero exit code is only for abnormal termination. Use 0.
System.exit(0);
...