#java #arrays #string #if-statement
#Ява #массивы #строка #если-заявление
Вопрос:
Мне нужно создать проект, в котором только в том случае, если из заданных имен в массиве будет введено определенное имя пользователя, им будет разрешено перейти к следующим параметрам меню. Как я могу изменить свой код, чтобы сделать это? Это просто печать » Привет, Джон!» Нужна ли мне петля?
public class Project1 { public static void main(String[] args) { Scanner input = new Scanner (System.in); System.out.println("please enter your username!"); String[] username = { "John","Lucy", "Amy", "Noah", "Sam"}; Listlt;Stringgt; list = Arrays.asList(username); if (list.contains("John")) { System.out.println("Hello!" ); } else if (list.contains("Lucy")) { System.out.println("Hello!" ); } else if (list.contains("Amy")) { System.out.println("Hello!" ); } else if (list.contains("Noah")) { System.out.println("Hello" ); } else if (list.contains("Sam")) { System.out.println("Hello" ); } else { System.out.println("Please enter a valid username."); } }
ВОЗВРАТ:
Добро пожаловать, Для начала, пожалуйста, введите свое имя пользователя!
Привет, Джон!
Ответ №1:
Вам действительно нужен цикл, чтобы спросить пользователя, пока имя не будет действительным, do/while
цикл-хороший выбор здесь
Scanner input = new Scanner(System.in); Listlt;Stringgt; allowedUsernames = Arrays.asList("John", "Lucy", "Amy", "Noah", "Sam"); System.out.println("Welcome, To start, please enter your username!"); String name = ""; do { if (!name.equals("")) { System.out.println("Please enter a valid username."); } name = input.nextLine(); } while (!allowedUsernames.contains(name)); System.out.println("Hello!");
Welcome, To start, please enter your username! aa Please enter a valid username. uu Please enter a valid username. dd Please enter a valid username. John Hello!