Я начинающий программист, и я создал метод, который вводит пользовательский ввод в строку, проверяет, является ли он целым или символом, преобразует его и затем передает его на следующую часть метода который является для каждого цикла, который проверяет значения id экземпляров объекта Person, хранящихся в связанном списке.Для каждой бесконечной петли
Однако он создает бесконечный цикл, и я не знаю, как его сломать так, что он выводит только один раз. Любая помощь очень ценится.
Я включил только то, что я считаю проблемой, если вам нужно больше частей программы, пожалуйста, дайте мне знать, и я добавлю это.
public void theSiv() {
System.out.println("Please enter client Id:");
String s = In.nextLine();
boolean isValidInteger = false;
char choice = 'p';
boolean exists = false;
int searchid = 0;
try
{
int i = Integer.parseInt(s);
isValidInteger = true;
searchid = i;
}
catch (NumberFormatException ex)
{
choice = s.charAt(0);
}
while (choice !='x'){
for (Person b:clients)
if (b.getId() == searchid){
exists = true;
System.out.println("found client");}
if(exists == false)
System.out.println(" No such client");
}
}
Btw, вы должны использовать '{' и ''}, чтобы определить, лучше ваши области. Например, ваш «найденный клиент» всегда будет отображаться. –