#java #arrays #java.util.scanner
Вопрос:
Вот в чем вопрос: создайте массив строк и назначьте ему 5 имен. Спросите пользователя, как его зовут, если его имя совпадает с тем, которое уже есть в списке, сделайте что-нибудь. Проявите творческий подход!, используйте цикл для каждого, чтобы напечатать каждое имя в массиве с пробелом между каждым индексом.
Это то, что у меня есть до сих пор. Одна из проблем, с которой я сталкиваюсь, заключается в том, что сканер сравнивает входные данные только с первым именем в массиве, а не с остальными.
public static void main(String[] args) { String[] names = {"Jose", "Alex", "Steven", "Sky", "Ana"}; Scanner scan = new Scanner(System.in); System.out.println("What is your name? "); String input = scan.next(); for (String n:names) { if (n.equalsIgnoreCase(input)) { System.out.print("Hooray! Your odds of finding a keychain with your name on it are high! =) "); } else { System.out.print("Welcome to the rare names club!!! =D " ); System.out.print(names " "); } break; } } }
Не стесняйтесь комментировать любые другие проблемы, которые вы видите. Я новичок в этом, и я был бы признателен за обратную связь. Тнх
Комментарии:
1. Я думаю, что вы должны использовать a
for-loop
для объединения имен вместе, когда у вас нет совпадения (вместоSystem.out.print(names " ");
) (или вы могли бы простоSystem.out.print
напечатать каждое из них в одной строке).
Ответ №1:
Может быть, это будет полезно. Я думаю, что «перерыв» называется преждевременным. Есть много способов решить эту проблему, но я использовал логическое значение, чтобы определить, было ли найдено имя. Затем я использовал логическое значение после цикла, чтобы определить, что печатать.
public static void main(String[] args) { String[] names = {"Jose", "Alex", "Steven", "Sky", "Ana"}; Scanner scan = new Scanner(System.in); System.out.println("What is your name? "); String input = scan.next(); boolean isFound = false; for (String n:names) { if (n.equalsIgnoreCase(input)) { isFound = true; break; } } if (isFound) { System.out.print("Hooray! Your odds of finding a keychain with your name on it are high! =) "); } else { System.out.print("Welcome to the rare names club!!! =D " ); System.out.print(names " "); } }