Java 带有if语句的ArrayList

Java 带有if语句的ArrayList,java,arrays,if-statement,contains,Java,Arrays,If Statement,Contains,我的任务是使用ArrayList创建一个简单的图灵测试。我知道如何创建ArrayList,但在将它们连接到if语句以正确响应用户输入时遇到了问题。下面是这个问题的一个例子。当用户输入Frank时,我希望得到第一个响应,任何其他输入都会导致另一个响应。然而,无论我做了什么调整,不管我输入什么,都只会使其中一个出现 List<String> names = new ArrayList<>(); names.add( "Frank" ); System.out.print(

我的任务是使用ArrayList创建一个简单的图灵测试。我知道如何创建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");
}
请尝试以下操作:

List<String> names = new ArrayList<>();

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");
}
List name=new ArrayList();
System.out.print(“你好,你叫什么名字?”);
name.add(scanner.next());
如果(名称。包含(“弗兰克”)){
System.out.printf(“很高兴认识你,弗兰克。我叫约翰。\n”);
}否则{
System.out.printf(“多么有趣的名字。我的名字叫约翰。\n”);
}
我删除了将
Frank
添加到数组中的部分。这样,根据您的输入,结果可能会略有不同。我仍然觉得有点奇怪,您使用的是
ArrayList
。似乎保存一个简单的变量也可以做同样的事情


使用
ArrayList
时,您可能会让以前的答案影响其他答案。

按照当前的设置方式,应用程序将始终打印
多么有趣的名称。我叫约翰。
。这是因为数组始终包含
Frank
,因为您的代码
名称。添加(“Frank”)。数组中的所有其他内容都无关紧要,因为您只需检查
Frank
,如果您还有其他问题,请为其创建另一个问题好吗?如果你在这里链接到另一个问题,我很乐意提供帮助。
List<String> names = new ArrayList<>();

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");
}