A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李金伦 中级黑马   /  2015-7-9 23:16  /  462 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

/*
        需求:写一个猜数字游戏。

        思路:
                1.首先确定游戏规则:电脑产生一个随机数(1--100),
                用键盘输入一个数据,与电脑产生的随机数进行比较,
                如果两数字相等,就提示你猜到了,如果输入的数据比
                随机数小,就提示你输入小了,如果输入的数据比随机数大
                就提示你输入的数大了。
                2.产生一个随机数需要调用Math.random()方法。
                3.需要键盘录入Scanner
                4.比较两个数用if语句来实现。
                5.定义一个变量来统计输入的总次数。
                6.用while(true)来控制循环输入,用System.exit();来结束游戏
*/

import java.util.Scanner;
class GuessNum
{
        public static void main(String[] args)
        {
                System.out.println("请输入(1--100)以内的数字:");

                int ran =(int)(Math.random()*100);
        //        System.out.println(ran);
                int count = 0;
                while(true)
                {

                Scanner sc = new Scanner(System.in);
                int num = sc.nextInt();
                count++;
        //        System.out.println(ran);
                if(ran==num)
                {
                  System.out.println("恭喜你猜对了!");
                  System.out.println("你总共猜了:"+count+"次");
                  break;
                }else if(ran<num)
                {
                  System.out.println("你猜大了!");               
                }else if(ran>num)
                {
                  System.out.println("你猜小了!");                  
                }else if(ran>100||ran<0)
                {
                  System.out.println("超出范围了请重新输入!");               
                }
                }                                  
                //System.out.println("你总共才了:"+count+"次");       
        }
}

2 个回复

正序浏览
进来看看  你的头像和我们大学宿舍好像   
回复 使用道具 举报
Math的random 方法产生的随机数包左不包右,即 100> number >=0
返回:
大于等于 0.0 且小于 1.0 的伪随机 double 值。
改进:int number = (int)(Math.random() * 100) +1;
或者:用Random类的nextInt()方法,
返回:
下一个伪随机数,在此随机数生成器序列中 0(包括)和 n(不包括)之间均匀分布的 int 值。
int number = new Random().nextInt(100) +1;
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马