有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java创建具有多个单词的扫描器

我需要包括10个变量,但当我输入任何内容时,它只会显示其中一个变量,我需要知道如何使其如此。例如,当输入“Gaming”时,程序会返回“Do you like Gaming?”现在,我输入的任何内容都会出现“你喜欢大学吗?”

我试着在谷歌搜索了3个小时,他们说的我都做了,但我找不到。使用。由于某些原因,包含不起作用

    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) 个答案

  1. # 1 楼答案

    当你打电话给查特伯特。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?");
    }