php猜数字加次数,做个小游戏,猜数字。。看看你要电脑猜多少次。。还不错

这是一个电脑自动猜1-100随机数字的小程序。

你可以手动输入你要让电脑玩多少次猜数字的游戏。

最后它会给你输出一个平均猜出一个数字需要多少次。

图片内容是运行的结果。

隐藏内容是隐藏的代码,为了黑马币大家给力点。/**

*

*思路:逐步缩小猜数的范围。每次猜的数为这个范围中间的整数值

*每猜一次数:

*若猜的数大了,将下一次猜数范围的上边界赋值为刚猜的数,

*若猜的数小了,将下一次猜数范围的下边界赋值为刚猜的数。

*若猜中了,就OK

*

*/

import java.util.Scanner;

import java.util.Random;

class GuessNumber

{

public static void main(String[] args)

{

System.out.println("请输入你要玩猜数字游戏的次数:");

Scanner sc1 = new Scanner(System.in);

int cishu = sc1.nextInt();

int sum = 0;

for(int i = 1;i<=cishu;i++){

System.out.println("第"+i+"次游戏:");

int X = 100;

Random r = new Random();

int num = r.nextInt(X)+1;

sum += smartGuess(num,X);

}

double average = sum *1.0/ cishu;

System.out.println("系统平均每次游戏猜了"+average+"次猜中。");

}

public static int smartGuess(int num,int X){

int count = 0;//计数器

int xiaoYuNum$ = 1;//猜数范围的下边界

int daYuNum$= X+1;//猜数范围的上边界

int num$ = (daYuNum$+xiaoYuNum$)/2;

while(true){

count++;

if(num$>num){

System.out.println("第"+count+"次:系统自动猜的数字:"+num$+"大了");

daYuNum$ = num$;//猜的数大了,将范围的上边界赋值为刚猜的数

num$ = (daYuNum$+xiaoYuNum$)/2;//下次猜的数为猜数范围的中间值

}else if(num$

System.out.println("第"+count+"次:系统自动猜的数字:"+num$+"小了");

xiaoYuNum$ = num$;//猜的数小了,将范围的下边界赋值为刚猜的数

num$ = (xiaoYuNum$+daYuNum$)/2;//下次猜的数为猜数范围的中间

}else{

System.out.println("第"+count+"次:系统自动猜的数字:"+num$+"中了");

break;

}

}

System.out.println("总共花了"+count+"次猜中。");

return count;

}

}

2015-8-14 21:14 上传

c8bd1de7e68e37fa96035642e2b223ed.gif

63e2b8a956811beb4f8000959c7e08aa.gif

1000次的开始

b5b0b1954d7b1b86a4242bbd9d0c05eb.gif

2015-8-14 21:14 上传

c8bd1de7e68e37fa96035642e2b223ed.gif

63e2b8a956811beb4f8000959c7e08aa.gif

1000次的结束

b5b0b1954d7b1b86a4242bbd9d0c05eb.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值