带有if语句的Arraylist

时间:2018-04-17 17:14:34

标签: arrays if-statement contains turing

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

1 个答案:

答案 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添加到数组的部分。这样,根据您的输入,结果可能会略有不同。我仍然觉得你使用数组列表有点奇怪。看起来只是保存一个简单的变量可以做同样的事情。

使用数组列表可能会有以前的答案影响其他答案。