Мне нужна помощь в разработке цикла for, который возвращает имя, если оно найдено, и, если оно не найдено, возвращает запрошенное имя как не найденное. Мне нужно сделать это, не повторяя не найденный цикл несколько раз.
Я пробовал различные операторы if, else if и else. Я также пробовал цикл do while внутри цикла for, а также пытался выполнить оператор not found вне цикла
String[] values = new String[12];
int name = 1;
// Initialize Scanner
java.util.Scanner input = new java.util.Scanner(System.in);
// Create loop for name input
for (int i = 0; i < values.length; i++)
{
System.out.print("Enter in " + " the name of friend " + name++ + ": ");
values[i] = new String(input.next());
if (values[i].equalsIgnoreCase("zzzz"))
{
break;
}
}
// Create loop for name output
System.out.println("\n" + "The names of your friends are: ");
for (int i = 0; i < values.length; i++)
{
if (values[i].equalsIgnoreCase("zzzz"))
{
break;
}
else
{
System.out.println(values[i]);
}
}
// Search for the name
boolean found = false;
System.out.print("\n" + "Enter in the name of the friend you would like to find: ");
String find = input.next();
for(int i = 0;i < values.length && !found;++i)
{
if (find.equalsIgnoreCase(values[i]))
{
System.out.println("\n" + "Your friend " + find + " was found");
found = true;
break;
}
else if (find != values[i] && (found = false))
{
System.out.println("\n" + "Your friend " + find + " was not found" );
break;
}
}
}
}
Я ожидаю, что не найденный оператор не будет повторен несколько раз в циклепока фактическое имя не будет найдено. Если имя не существует в массиве, оно должно выполнить поиск по всему массиву и вернуть, что оно не было найдено.