用户输入一个数字,让系统猜测这个数字是多少

1.创建一个死循环,让用户输出1-100范围内的数字,符合条件跳出循环

2.以我们自己猜测数字的思想,比如输入88我们首先猜测50,然后数字提示小了,我们就是取以50为最小范围-100的中间值75,然后提示小了,我们继续猜测75-100的中间值82,提示小了,猜90大了,最大范围就是82-90.猜测86,小了最后猜测88.

这个过程就是如果提示小了我们会赋值给给最小的取值范围,如果猜测大了就把最大的取值范围赋值.

我们设置两个数一个是最小范围数为1,一个是最大范围数为100,然后取他们的中间数50(101/2=50,因为是int类型所以是50,看不懂可以去看以前的文章有解释为什么),然后如果提示数字小了的话就把这个数字赋值给最小范围数,然后要+1,因为这个数已经猜过了,在使用它就没有任何意义.罪过提示数字大了,就把这个数字赋值给最大范围数,然后-1,道理同上.

也可以设置一个次数,循环jiu++记录一下.

欢迎指导更好的方法.

Scanner sc=new Scanner(System.in);
        int i;
        while (true){
            System.out.println("请输入一个0-100的整数");
            i= sc.nextInt();
            if (i>=1&&i<=100){
                break;
            }
        }
        int minnum =1;
        int maxnum=100;
        int guessnum;
        int count=0;
        while (true){
        count++;
        guessnum=(minnum+maxnum)/2;
        if (i>guessnum){//如果输入的数字比猜测的数字小就把guessnum+1的值赋给minnum
            minnum=guessnum+1;
            System.out.println("猜测的数字是"+guessnum+"数字小了");
        }else if (i<guessnum){
            maxnum=guessnum-1;
            System.out.println("猜测的数字是"+guessnum+"数字大了");
        }else {
            System.out.println("猜测了"+count+"次,恭喜猜对了");
            break;
        }
        }

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值