Arraylist с if заявлениями
Мне поручено создать простой тест Тьюринга с использованием ArrayLists. Я знаю, как создавать ArrayLists, но у меня возникают проблемы при подключении их к операторам if для правильного ответа на ввод пользователя. Пример этой проблемы ниже. Когда пользователь вводит Фрэнка, я хочу первый ответ, а любой другой ввод должен приводить к другому ответу. Тем не менее, какие бы настройки я ни делал, я просто делаю один или другой, независимо от того, что я вкладываю.
ArrayList<String> names = new ArrayList<String>();
names.add( "Frank" );
System.out.print( "Hello, what is your name? ");
names.add(scanner.next());
if( names.contains( "Frank" )) {
System.out.printf( "Nice to meet you, Frank. My name is John.\n" );
}
else {
System.out.printf( "What an interesting name. My name is John.\n");
}
** Наличие другой проблемы. Для второго вопроса я пытаюсь использовать оператор else if. Тем не менее, когда я отвечаю на запрос else if, он дает мне окончательный ответ else "Я бы никогда не догадался" каждый раз.
System.out.print("Where are you from? ");
states.add(scanner.next());
if (states.contains("Florida") || states.contains("florida")) {
System.out.println("So was I!\n");
} else {
if (states.contains("North Carolina") || states.contains("north carolina")) {
System.out.println("I hear that's a nice place to live.\n");
}
else {
System.out.println("I would have never guessed!");
}
}
1 ответ
Попробуйте следующее:
ArrayList<String> names = new ArrayList<String>();
System.out.print( "Hello, what is your name? ");
names.add(scanner.next());
if(names.contains( "Frank" )){
System.out.printf( "Nice to meet you, Frank. My name is John.\n" );
}else{
System.out.printf( "What an interesting name. My name is John.\n");
}
Я удалил часть, где вы добавляете Frank
в массив. Таким образом, результаты могут немного отличаться в зависимости от вашего ввода. Я все еще нахожу немного странным, что вы используете список массивов. Кажется, что просто сохранение простой переменной может сделать то же самое.
Однако со списком массивов возможно, что предыдущие ответы повлияют на другие ответы.