Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java猜谜游戏运行但未正确运行_Java - Fatal编程技术网

java猜谜游戏运行但未正确运行

java猜谜游戏运行但未正确运行,java,Java,我不知道我在java猜谜游戏程序中做错了什么。计算机选择一个介于1和100之间的数字,并要求用户猜一猜。系统会提示用户“过低”或“过高”,并要求用户再次猜测,直到猜对为止。我的问题是,当你猜对数字时,它总是说太低,但如果你再次键入相同的数字,它会说正确 package guessinggame; import java.util.Scanner; /** * * @author */ public class GuessingGame { /** * @param ar

我不知道我在java猜谜游戏程序中做错了什么。计算机选择一个介于1和100之间的数字,并要求用户猜一猜。系统会提示用户“过低”或“过高”,并要求用户再次猜测,直到猜对为止。我的问题是,当你猜对数字时,它总是说太低,但如果你再次键入相同的数字,它会说正确

package guessinggame;
import java.util.Scanner;
/**
 *
 * @author
 */
public class GuessingGame {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args)
    {
        Scanner input = new Scanner (System.in);

        int guesses;    //number of users guesses

        int housePick;  //number the user must guess

        int guess;      //users guess

        guesses = 0;

        housePick = (int)((Math.random() * 100) +1 );  
        //sets housePick to random number from 1 to 100

        System.out.println("I'm thinking of a number between 1 and 100") ;
        //print "Im thinking of a nubmer between 1 and 100"

        System.out.println("Can you guess what it is?");
        //print "can you guess what it is"

        System.out.println
                ("Enter a number from 1 to 100 (including 1 and 100)");
        //prompt user to enter number

        System.out.println("test " +housePick );
        //Test: tells user the correct answer
        do
        {
            guess = input.nextInt();

            if (guess > housePick)  //and if guess > housePick...
            {
                if ((guess - 10) <= housePick )  
                    //and if guess is 10 numbers away from housePick...

                {
                    System.out.println("Close, but too high. Try again.");
                    //print "close but too high, try again"

                    guesses = guesses+ 1 ;



                }

                else              //if guess is not close and guess>housePick...
                {
                    System.out.println ("Too high, try again.");  
                    //then print "Too high, Try again"

                    guesses = guesses+ 1;


                }                         
            }
            else  //If guess<housePick
            {
            if ((guess + 10) >= housePick)  //AND if guess is close to housePick
            {
                System.out.println ("close, but too low.") ; 
                //then print "close, but too low"

                guesses = guesses + 1;

            }
            else//If guess isnt close to housePick and is less than housePick...
            {
                guesses = guesses+ 1;

                System.out.println ("Too low.");//then print "too low"
            }

            }

        }while (guess != housePick);  //while guess doesnt = housePick...

          guess = input.nextInt();
        //save entered number as guess

    guesses = guesses + 1;

        System.out.println ("You win!  It took you "  +  guesses + " guesses.");
        //If guess = housePick print "Yout win! It took you (# of guesses)"




    }
}
包猜游戏;
导入java.util.Scanner;
/**
*
*@作者
*/
公开课猜谜游戏{
/**
*@param指定命令行参数
*/
公共静态void main(字符串[]args)
{
扫描仪输入=新扫描仪(System.in);
int猜测;//用户猜测的数量
int housePick;//用户必须猜测的数字
int guess;//用户猜测
猜测=0;
housecik=(int)((Math.random()*100)+1);
//将housePick设置为1到100之间的随机数
System.out.println(“我想到的是一个介于1和100之间的数字”);
//打印“我想到一个介于1和100之间的数值”
System.out.println(“你能猜出它是什么吗?”);
//打印“你能猜出是什么吗”
System.out.println
(“输入1到100之间的数字(包括1和100)”;
//提示用户输入数字
System.out.println(“测试”+室内挑选);
//测试:告诉用户正确答案
做
{
guess=input.nextInt();
如果(猜测>家选)//如果猜测>家选。。。
{
如果((猜测-10)家政选择。。。
{
System.out.println(“太高,请重试。”);
//然后打印“太高,再试一次”
猜测=猜测+1;
}                         
}
else//如果guess=houseck)//如果guess接近houseck
{
System.out.println(“关闭,但过低”);
//然后打印“关闭,但过低”
猜测=猜测+1;
}
否则//如果guess不接近Houseck,并且小于Houseck。。。
{
猜测=猜测+1;
System.out.println(“太低”);//然后打印“太低”
}
}
}while(guess!=家选);//while guess不=家选。。。
guess=input.nextInt();
//将输入的数字另存为猜测
猜测=猜测+1;
System.out.println(“你赢了!它花了你”+猜测+“猜测”);
//If guess=Houseck打印“Yout win!它花费了你(#个猜测)”
}
}
让我们看看

家选=87

猜测=87

if ((guess + 10) >= housePick)  //AND if guess is close to housePick
{
       System.out.println ("close, but too low.") ; 
       //then print "close, but too low"

       guesses = guesses + 1;

}
hmm 87+10大于87

然后它会中断do/while循环,并再次提示您

家选=87

猜测=87

if ((guess + 10) >= housePick)  //AND if guess is close to housePick
{
       System.out.println ("close, but too low.") ; 
       //then print "close, but too low"

       guesses = guesses + 1;

}
hmm 87+10大于87


然后它会中断do/while循环,并再次提示您

您还有一个额外的输入。while之后的nextInt():

}while (guess != housePick);  //while guess doesnt = housePick...

guess = input.nextInt();
//save entered number as guess

删除它

在while之后还有一个额外的输入。nextInt()

}while (guess != housePick);  //while guess doesnt = housePick...

guess = input.nextInt();
//save entered number as guess

删除它

wow。真不敢相信我想不出来。@user2809114这样的事情会发生。快乐编码:)哇。真不敢相信我想不出来。@user2809114这样的事情会发生。快乐编码:)你做了什么来调试它???你做了什么来调试它???
}while (guess != housePick);  //while guess doesnt = housePick...

guess = input.nextInt();
//save entered number as guess