用多个单词创建扫描仪

时间:2019-03-23 23:35:35

标签: java

我需要包含10个变量,但是当我键入任何内容时,它仅包含1个变量,因此我需要知道如何做到这一点,例如,当键入“ Gaming”时,程序会返回“ Do you喜欢游戏吗?”现在,我输入的所有内容都带有“您喜欢uni吗?”

我已经尝试了3个小时的Google搜索,并做了他们所说的一切,但我找不到。由于某些原因,使用.contains无效。

    Scanner chatterbot = new Scanner(System.in);    
    String uni = ("University");
    String gaming = ("Gaming");

    uni = chatterbot.nextLine();
    if (uni.contains("University"))
        System.out.println("Do you like uni?");
    uni = chatterbot.nextLine();
    if (uni.contains("Yes"))
        System.out.println("Do you study one of SE CS or IT?");
    else if (uni.contains("No"))
        System.out.println("Do you study one of SE CS or IT?");
    uni = chatterbot.nextLine();
    if (uni.contains("Yes"))
        System.out.println("That is really great!");
    else if (uni.contains("No"))
        System.out.println("That is not good!");
    System.exit(0);


    gaming = chatterbot.nextLine();
    if (gaming.contains("Gaming"))
        System.out.println("Do you like gaming?");
    gaming = chatterbot.nextLine();
    if (gaming.contains("Yes"))
        System.out.println("What kind of games do you like to play?");

我希望输出结果是用户输入Uni时显示“您喜欢uni吗?”当您键入游戏时,它会显示“您喜欢游戏吗?” uni部分有效,但是当我输入Gaming时,什么也没出现。

1 个答案:

答案 0 :(得分:1)

当您调用chatterbot.nextLine()时,您的输入将被消耗,因此,如果再次调用nextLine(),它将等待下一个输入。 但是,通过将输入保存在变量中,您可以将其与多个值进行比较。

这应该有效:

Scanner chatterbot = new Scanner(System.in);    
String input = chatterbot.nextLine();
if (input.contains("University")) {
   System.out.println("Do you like uni?");
} else if (input.contains("Gaming")) {
   System.out.println("Do you like gaming?");
}