2014-09-05 75 views
-5

我是java的初学者。请用Java提供一个示例程序来玩猜数游戏。本场比赛的工作原理如下:猜数游戏的Java程序

用户在他的头脑和类型选择一些“准备”,以指示他已准备好

开始玩电脑。

计算机询问一系列问题以获得用户想要的数字。用户只能使用“更高”,“更低”或“是”来回应

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

例如:

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

电脑:数字30?

用户:更高

计算机:数字是50吗?

User:lower

计算机:数字35?

用户:更高

计算机:是40吗?

用户:是的

+1

你有没有试过为它编写一些java代码?首先尝试花费几个小时编写程序并在出现问题时向我们显示,然后我们会帮助您。我们将会而且不应该为你做这项工作。 – user2548635 2014-09-05 04:11:37

+1

欢迎来到StackOverflow;我相信你误解了这个网站的目的。您应该提供您遇到的特定开发问题,而不是要求人们完成您的工作。首先解释你所尝试过的,你得到的以及你不了解的。 – personne3000 2014-09-05 04:12:05

+0

好问题,如果有任何问题,请先为自己的善良尝试。 – 2014-09-05 04:14:32

回答

4

首先:你不应该没有任何自己的代码要求的示例代码 - 这很可能这是为什么正在downvoted。

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

如:(伪代码)

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++ ==来比较字符串的值,我预计这可能是一个问题,你会打...

+0

这是我写的代码。但根据我的要求,它并不完整。 – 2014-09-05 12:16:56

+0

哪里?我没有看到任何代码,也没有看到任何代码示例 - 只是您要查找的输出。尝试形成一些代码,或至少一个代码结构。我怀疑,如果你能形成类似于我在这个答案中所写的内容,并添加更多细节,那么你将非常接近你的最终代码的样子。从那里,你只需要找到实现细节。链接问题的第一个答案(http://stackoverflow.com/questions/17538182/getting-keyboard-input)看起来可能有助于您的输入需求。 – chrisb2244 2014-09-05 14:57:51

1

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

数位让你开始:

您需要使用扫描仪对象从键盘中读出。这个问题应该很好地覆盖那部分:Getting Keyboard Input

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

最后,您应该了解“关系运算符”,例如>大于,<小于等等。请检查here for that

+0

感谢您的意见。 – 2014-09-05 12:12:08