好的,这是猜谜游戏完整代码的一部分。找不到猜错游戏类错误
public static void Game(){ //Second page of game with option of continue playing when guessed close enough to answer.
Scanner scan = new Scanner(System.in);
GuessingGame testgame=new GuessingGame();
testgame.Generator();
int num = testgame.GetGenNum();
//Produces a random number between 1 and 100 inclusive of 1 and 100
System.out.println("Guess the target integer which is between 1 and 100 inclusive");
int guess=scan.nextInt();
int difference=(guess-num);
while(guess!=num){
int yesCounter=0;
System.out.println("Guess again " +num+" "+difference);
guess=scan.nextInt();
difference=(guess-num);
///something wrong here, shouldnt repeat if difference too big
if(difference<=5||difference>=-5){ //something wrong with the condition, it says its close enough even tho it isnt.
while(yesCounter<1){
System.out.println("Close enough, do you want to keep Guessing? Y/N ");
yesCounter++;
String play = scan.nextLine();
//play=play1;
while(!(play.equalsIgnoreCase("y")))
{
if(play.equalsIgnoreCase("n")){
System.exit(1);
}
else{
if((play.equalsIgnoreCase("y"))){
invalid();
guess=scan.nextInt();
}
else{
Game(); ///TAKE note as it might restart the game with new random integer
}
}
}
}
}
}
输出为:
.........................
玩? Y/N
ý
猜测目标整数足够接近1和100(含)
猜之间
再次44 6
,你想继续猜测? Y/N猜测目标整数是1和100(含)
之间 ..........................
问题是,当用户猜测一个数字,条件是如果猜测和生成的数字之间的差异是5或更小,告诉用户它足够接近,并询问用户是否想继续猜测,但条件wasn没有实现,但仍然运行,有人可以帮忙吗?
非常感谢!即时看着它现在。 – Liquified 2012-04-23 17:32:24
还有一个问题,while条件之前,有一条线路没有工作,String play = scan.nextLine();命令根本不起作用,因为我还没有发现的原因,并且让我疯狂...... – Liquified 2012-04-23 17:42:36