大家好,我正在编写一个与用户玩猜谜游戏的程序。您需要考虑一个数字,程序就会猜出它。这是我的代码:
]
因此,程序会猜测一个数字,然后根据用户输入(太小或太大)再次猜测。它没有按预期的方式工作,仅再次显示第一个猜测。您知道这里可能有什么问题吗?
答案 0 :(得分:7)
您使用scan.next();
。对于输入too much
,将仅返回too
。
要阅读整行内容,您需要使用scan.nextLine();
答案 1 :(得分:0)
您应该使用NextLine而不是next:
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("Guess a number between 1 do 100 and i'll guess it");
int min = 0;
int max = 100;
int guess = (max-min)/2 + min;
boolean end = false;
while(!end){
System.out.println("guess is" + guess);
String userInput = scan.nextLine();
if(userInput.equalsIgnoreCase("too much")){
max = guess;
}
else if(userInput.equalsIgnoreCase("too small")){
min=guess;
}
else if(userInput.equalsIgnoreCase("correct")){
end = true;
}
guess = (max-min)/2 + min;
}
}