6Random产生随机数(掌握)独立完成猜数字游戏案例

81 阅读4分钟
0.  导入包

    import java.util.Random;

0.  创建对象

    Random r = new Random();
            2.创建对象:
            类名 对象名 = new 类名(参数...);
            键盘录入对象: Scanner sc = new Scanner(System.in);
                注意: System.in目前是固定写法
            随机数Random类的对象: Random r = new Random();
                注意:右侧()中什么都不用写,目前是固定写法

0.  产生随机数

    int num = r.nextInt(10);
    解释: 10代表的是一个范围,如果括号写10,产生的随机数就是0(包括)-9(包括),括号写20,参数的随机数则是0(包括)-19(包括)
        java.util.Random类: 就是用来帮助我们产生随机数字的,也是引用类型,使用有3个固定的步骤
          100=  r.nextInt(100) + 1:
          public class Demo05Random {
    public static void main(String[] args) {
        //创建Random类的对象
        Random r = new Random();

        //(1)产生10个int范围内的随机数字
        for (int i = 0; i < 10; i++) {
            //产生1个int范围内的随机数字,保存到int变量num中
            int num = r.nextInt();
            System.out.println(num);
        }
        System.out.println("-------------");

        //(2)产生10个1(包含1)到100(包含100)之间的随机数字
        for (int i = 0; i < 10; i++) {
            //产生1个1(包含1)到100(包含100)之间的随机数字
            int num = r.nextInt(100) + 1;
            System.out.println(num);
        }
        System.out.println("-------------");
        到底多少次可以猜对,是不确定的,使用死循环(while(true))
        while(true) {
            //产生1个1(包含1)到100(包含100)之间的随机数字
            int num = r.nextInt(100) + 1;
            System.out.println(num);
            /*if (num == 1 || num == 100) {
                break;
            }*/
            if (num == 0 || num == 101) {
                break;
            }
        }

    }
}
需求:程序自动生成一个1-100(包含1100)之间的数字,使用程序实现猜出这个数字是多少
/*
    Random练习-猜数字
        需求:程序自动生成一个1-100(包含1和100)之间的数字,使用程序实现猜出这个数字是多少?
        效果:
            如果猜的数字比真实数字大,提示你猜的数据大了
            如果猜的数字比真实数字小,提示你猜的数据小了
            如果猜的数字与真实数字相等,提示恭喜你猜中了

        实现步骤:
            1.创建Random类的对象
            2.产生一个1-100(包含1和100)之间的数字保存到int变量guessNum中,以供大家猜测
            3.创建键盘录入Scanner类的对象
            4.到底多少次可以猜对,是不确定的,使用死循环(while(true))
            4.1 获取键盘录入的用户猜测的数字,保存到int变量inputNum中
            4.2 判断 如果用户猜测的inputNum中的数字 等于 产生的 guessNum 中的数字,说明猜对了
                提示: "恭喜你猜中了"
                使用break,结束循环
            4.3 判断 如果用户猜测的inputNum中的数字 小于 产生的 guessNum 中的数字,说明没猜对
                提示: "你猜的数据小了"
            4.4 判断 如果用户猜测的inputNum中的数字 大于 产生的 guessNum 中的数字,说明没猜对
                提示: "你猜的数据大了"
 */
public class Demo06GuessNum {
    public static void main(String[] args) {
        //1.创建Random类的对象
        Random r = new Random();

        //2.产生一个1-100(包含1和100)之间的数字保存到int变量guessNum中,以供大家猜测
        int guessNum = r.nextInt(100) + 1;

        //3.创建键盘录入Scanner类的对象
        Scanner sc = new Scanner(System.in);

        //4.到底多少次可以猜对,是不确定的,使用死循环(while(true))
        while (true) {
            //4.1 获取键盘录入的用户猜测的数字,保存到int变量inputNum中
            System.out.println("请输入您猜测的数字(1到100之间的): ");
            int inputNum = sc.nextInt();

            //4.2 判断 如果用户猜测的inputNum中的数字 等于 产生的 guessNum 中的数字,说明猜对了
            if (inputNum == guessNum) {
                //提示: "恭喜你猜中了"
                System.out.println("恭喜你猜中了");

                //使用break,结束循环
                break;

            } else if (inputNum < guessNum) {
                //4.3 判断 如果用户猜测的inputNum中的数字 小于 产生的 guessNum 中的数字,说明没猜对
                //提示: "你猜的数据小了"
                System.out.println("你猜的数据小了");
            } else {
                //4.4 判断 如果用户猜测的inputNum中的数字 大于 产生的 guessNum 中的数字,说明没猜对
                //提示: "你猜的数据大了"
                System.out.println("你猜的数据大了");

            }

        }
    }
}