我的任务是使用ArrayLists创建一个简单的图灵测试。我知道如何创建ArrayLists,但我无法将它们连接到if语句以正确响应用户输入。这个问题的一个例子如下。当用户输入Frank我想要第一个响应时,任何其他输入应该导致另一个响应。然而,无论我做什么调整,只要让一个或另一个出现,无论我输入什么。
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语句。但是,当我回复别的if响应时,它会给我最后的回应#34;我绝不会猜到&#34;每一次。
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!");
}
}
答案 0 :(得分:0)
尝试以下方法:
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
添加到数组的部分。这样,根据您的输入,结果可能会略有不同。我仍然觉得你使用数组列表有点奇怪。看起来只是保存一个简单的变量可以做同样的事情。
使用数组列表可能会有以前的答案影响其他答案。