【发布时间】:2018-09-27 18:18:18
【问题描述】:
我的任务是使用 ArrayLists 创建一个简单的图灵测试。我知道如何创建 ArrayList,但我无法将它们连接到 if 语句以正确响应用户输入。下面是这个问题的一个例子。当用户输入 Frank 我想要第一个响应时,任何其他输入都应该导致另一个响应。但是,无论我输入什么,我所做的任何调整都会显示其中一个或另一个。
List<String> names = new ArrayList<>();
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!");
}
}
【问题讨论】:
-
当前设置应用程序的方式将始终打印
What an interesting name. My name is John.。这是因为数组始终包含Frank,因为您的代码为names.add( "Frank" );。数组中的其他所有内容都无关紧要,因为您只检查Frank -
如果您还有其他问题,您能否为它创建另一个问题?如果您在此处链接到其他问题,我将很乐意提供帮助。
标签: java arrays if-statement contains