我需要包含10个变量,但是当我键入任何内容时,它只包含其中的1个变量,因此我需要知道如何做到这一点,例如,当键入“ Gaming”时,程序会返回“您喜欢游戏吗? ”现在,我输入的所有内容都带有“您喜欢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时,什么也没有出现。
最佳答案
当您调用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?");
}