Я пытаюсь, чтобы мой пользователь прочитал из моего меню и выбрал вариант 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