0
case 2:
System.out.println("Please enter Book ID: ");
String userinput2 = sc.next();
for (int i = 0; i < myBooks.size(); i++) {
if (myBooks.get(i).getBookID().contains(userinput2)) {
System.out.println("BookID: " + myBooks.get(i).getBookID() + "\nTitle: "
+ myBooks.get(i).getTitle() + "\nAuthor: " + myBooks.get(i).getAuthor());
System.out.println("Please enter new details of book");
System.out.println("Title: ");
String userinput7 = sc.next();
myBooks.get(i).setTitle(userinput7);
System.out.println("Author: ");
String u1 = sc.next();
myBooks.get(i).setAuthor(u1);
myBooks.get(i).setOnLoan(false);
myBooks.get(i).setNumLoans(0);
System.out.println("---------------------------------------------------");
System.out.println("The book has been successfully updated");
System.out.println("Book ID: " + myBooks.get(i).getBookID() + " " + "\nTitle: "
+ myBooks.get(i).getTitle() + " " + "\nAuthor: " + myBooks.get(i).getAuthor());
System.out.println("---------------------------------------------------");
}
else { System.out.println("Please enter a correct bookID");
}
}
// У меня возникла проблема с моей проверкой проверки. Если пользователь вводит идентификатор bookID, который не существует, вместо того, чтобы печатать «пожалуйста, введите правильный идентификатор книги» один раз, он распечатывает его 4 раза, что соответствует количеству объектов, которые у меня есть в списке массивов. Есть ли способ сортировать это?строка кода печать dublicates
Рассмотрим обеспечение [работоспособный пример] (HTTPS : //stackoverflow.com/help/mcve), который демонстрирует вашу проблему. Это не дамп кода, а пример того, что вы делаете, что подчеркивает проблему, с которой вы сталкиваетесь. Это приведет к меньшему путанице и лучшим ответам. – MadProgrammer
Сначала вы должны проверять дубликаты, прежде чем добавлять какие-либо новые элементы. – MadProgrammer
И вы также не позволяете пользователю вводить снова после выполнения else, поэтому он продолжает выполнение до завершения цикла. Попробуйте добавить 'userinput2 = sc.next();' возможно, в 'else'. –