Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.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初学者。请提供一个Java示例程序来玩数字猜测游戏。游戏的工作原理如下: 用户在脑海中选择一个数字,然后键入“ready”(准备就绪),向计算机表明他已准备就绪 开始演奏 计算机会问一系列问题,以得出用户心目中的数字。用户只能 回答“较高”、“较低”或“是” 当用户回答“是”或“结束”时,游戏结束 例如: 用户在脑海中选择了数字40 计算机:是30号吗 用户:更高 电脑:是50号吗 用户:下 计算机:是35号吗 用户:更高 计算机:是40号吗 用户:是的首先:如果没有自己的代码,你不

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

用户在脑海中选择一个数字,然后键入“ready”(准备就绪),向计算机表明他已准备就绪

开始演奏

计算机会问一系列问题,以得出用户心目中的数字。用户只能

回答“较高”、“较低”或“是”

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

例如:

用户在脑海中选择了数字40

计算机:是30号吗

用户:更高

电脑:是50号吗

用户:下

计算机:是35号吗

用户:更高

计算机:是40号吗


用户:是的

首先:如果没有自己的代码,你不应该要求提供示例代码-这可能就是为什么这被否决的原因

接下来,您应该决定希望程序如何猜测。例如,在这里,对分算法可能对您有用。您需要设置一些不同的初始代码,以便绑定此人的号码

例如:(伪代码)

如果这个人的价值不在你设定的限度之内,那么这个(~)代码就不起作用了。所以先考虑一下它是否比猜测更高,并且低于GuestS晚饭。如果没有,请尝试将标记移动一定量。更复杂的搜索算法很容易想象,你应该注意整数和double等之间的区别


另一方面,为了比较字符串,应该使用
equals(…)
,例如
input.equals(“更高”)。不要使用C++ <代码>=<代码>比较字符串的值,我预料这可能是你会碰到的问题…

< p>我不会为你编写或提供程序,这是非常基本的。 以下几点可以帮助您开始:

您需要使用扫描仪对象从键盘读入。这个问题应该很好地涵盖这一部分:

你还需要理解布尔语


最后,您可能应该了解“关系运算符”,如>大于、<小于等等。检查。

您是否尝试过为其编写一些java代码?首先,试着花几个小时写程序,当你有问题时告诉我们,然后我们会帮助你。我们会也不应该为您做这项工作。欢迎来到StackOverflow;我相信你误解了这个网站的目的。您应该提供您遇到的特定开发问题,而不是要求他人来完成您的工作。首先解释一下你尝试了什么,得到了什么,还有什么你不理解。好问题,先为你的善良而努力,如果有任何问题,再回来。!!谢谢你的评论。这是我写的代码。但它没有按照我的要求完全发挥作用。在哪里?我没有看到任何代码,也没有看到任何代码示例——只是您正在寻找的输出。尝试形成一些代码,或者至少是一个代码结构。我想如果你能形成我在这个答案中所写的东西,并添加更多的细节,你将非常接近你的最终代码的样子。从那里,您只需要找到实现细节。链接问题()的第一个答案似乎有助于满足您的输入需求。
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