数字猜测游戏的Java程序

时间:2014-09-05 04:07:12

标签: java

我是java的初学者。请提供Java样本程序来玩猜数游戏。游戏的工作原理如下:

用户在脑海中选择一个号码并输入“准备好”以向计算机表明他已准备好

开始玩。

计算机会询问一系列问题,以达到用户想到的数字。用户只能

以“更高”,“更低”或“是”回应。

当用户回答“是”或“结束”时,游戏结束。

示例:

用户在脑海中选择了40号。

电脑:号码是30?

用户:更高

电脑:号码是50?

用户:低级

电脑:号码是35?

用户:更高

电脑:号码是40?

用户:是

2 个答案:

答案 0 :(得分:4)

首先:您不应该在没有任何自己的代码的情况下要求提供示例代码 - 这可能是为什么这个代码被低估了。

继续,您应该决定您希望程序猜测的方式。例如,二分算法可能对您有用。您需要设置一些不同的初始代码,以限制此人的号码。

例如:(伪代码)

int guessLower=0;
int guessUpper=1000000;
int myGuess=10;

// Ask user to pick number
// Ask user if number is == guess
// If yes, finish.
// If the answer is higher than the guess, change guessLower to the value of guess, and change guess to halfway between guess and guessUpper.
// If the answer is lower, do the opposite (guessUpper = myGuess; myGuess = (guessLower + myGuess)/2;

// Repeat until finished

如果此人所构成的值不在您设定的限制范围内,则此(〜)代码将无效 - 因此请考虑首先询问它是否高于guessLower,并低于guessUpper。如果没有,请尝试将标记移动一些量。可以很容易地想象出更复杂的搜索算法,你应该注意整数和双精度等之间的差异。

在旁注中,为了比较字符串,您应该使用equals(...)查找,例如input.equals("higher");。不要使用C ++ ==来比较字符串的值,我预计这可能是您遇到的问题......

答案 1 :(得分:1)

我不会为你编写或提供程序,这是非常基本的。

让你开始的几点:

您需要使用Scanner对象从键盘读入。这个问题应该很好地涵盖了这一部分:Getting Keyboard Input

你还需要了解布尔值。 Click here for that

最后你应该学习“关系运算符”,比如>大于,<小于等。检查here for that