猜数字游戏
来源:互联网 发布:unity3d粒子系统教程 编辑:程序博客网 时间:2024/05/01 19:38
猜数字
很多人都玩过这个游戏:甲在心中想好一个数字,乙来猜。每猜一个数字,甲必须告诉他是猜大了,猜小了,还是刚好猜中了。
很多人都玩过这个游戏:甲在心中想好一个数字,乙来猜。每猜一个数字,甲必须告诉他是猜大了,猜小了,还是刚好猜中了。
下列的代码模拟了这个过程。其中用户充当甲的角色,计算机充当乙的角色。为了能更快地猜中,计算机使用了二分法。
import java.util.Scanner;public class Test_3{public static void main(String[] args){System.out.println("请在心中想好一个数字(1-100),我来猜!");System.out.println("我每猜一个数字,你要告诉我是--猜大了--,--猜小了--,还是--猜中--");//通过scanner从控制台接收用户输入的数据Scanner scanner = new Scanner(System.in);//初始化二分法的最大值和最小值,即二分法的范围int v1 = 1;int v2 = 100;for(;;) {//使用二分法,获取中间数,int m = (v1 + v2) >> 2; // 位运算更高效System.out.println("我猜是:" + m);System.out.println("1.猜的太大了");System.out.println("2.猜的太小了");System.out.println("3.猜对了!");System.out.println("请选择:");//这里用户输入数据,对计算机说是大了还是小了还是猜对了。int user = Integer.parseInt(scanner.nextLine());//如果才对,则结束无限循环,结束程序。if(user == 3) break;//如果猜大了,将二分法的最大值范围减小到中间值-1,下一次判断的时候,只需要在1-49之间判断。if(user == 1) v2 = m - 1; //填空//如果猜小了,将二分法的最小值范围增加到中间值+1,下一次判断的时候,只需要在51-100之间判断。if(user == 2) v1 = m + 1; //填空}}}图示:
- 游戏_猜数字
- 猜数字游戏
- 猜数字游戏
- 猜数字游戏源码
- 猜数字游戏
- 猜数字游戏
- python猜数字游戏
- 猜数字游戏
- 猜数字游戏
- 猜数字游戏
- 猜数字游戏
- 猜数字游戏
- 猜数字游戏
- 关于猜数字游戏
- 猜数字游戏实现
- 猜数字游戏
- 模拟猜数字游戏
- 猜数字游戏
- s5pv210启动流程简析
- JPEG2000和JPEG的比较
- C++学习之路(一)
- Python中的Copy和Deepcopy
- win7电脑磁盘文件以分组方式展现解决方案
- 猜数字游戏
- 学习笔记
- 长沙现场赛A题
- 计算机视觉的专家和网站
- ApiDemo 学习 CameraPreview 和 Clipping
- web网站结构
- 滚动数组(2)
- (Relax 数论 1.17)POJ 3101 Astronomy(分数的最小公倍数)
- Java注解