带有 if 语句的 ArrayList

ArrayList with if statements

我的任务是使用 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");
}

**还有一个问题。对于第二个问题,我尝试使用 else if 语句。但是,当我用 else if 响应进行响应时,它每次都会给我 "I would have never guessed" 的最终 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!");
        }
    }

尝试以下操作:

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

我删除了将 Frank 添加到数组的部分。这样,根据您的输入,结果可能会有所不同。我仍然觉得您使用 ArrayList 有点奇怪。似乎只保存一个简单的变量就可以做同样的事情。

使用 ArrayList 但是您之前的答案可能会影响其他答案。