【Java】猜数字小游戏

一、获取随机数

Java帮我们写好一个类叫Random,这个类可以生成一个随机数。这个类的学习可以参考以前Scanner学习步骤。

image-20240402192517756

案例1:获取范围:0~10的随机数

package com.itheima.test;

//1.导包,IDEA会帮我们自动生成
import java.util.Random;

public class LoopTest5 {
    public static void main(String[] args) {
        //先获取一个随机数。范围:0~10

        //2.创建对象
        Random r = new Random();

        //3.生成随机数
        //判断技巧:
        //在小括号中,书写的是生成随机数的范围
        //这个范围一定是从0开始的。
        //到这个数-1结束
        //口诀:包头不包尾,包左不包右
        for (int i = 0; i < 100; i++) {
            int number = r.nextInt(10);// 表示0 ~ 9之间
            System.out.println(number);
        }
    }
}

案例2:生成随机数范围:1~100的数字

package com.itheima.test;

import java.util.Random;

public class LoopTest6 {
    public static void main(String[] args) {
        //需求:
        //随机数范围:1~100

        //创建对象
        Random r = new Random();
        //生成随机数
        int number = r.nextInt(100) + 1;//1  ~ 100
        System.out.println(number);


        //秘诀
        //用来生成任意数到任意数之间的随机数 例如7 ~15
        //1.让这个范围头尾都减去一个值,让这个范围从0开始  -7   0~8
        //2.尾巴+1       8 + 1 = 9
        //3.最终的结果,再加上第一步减去的值。

        Random r = new Random();
        int number = r.nextInt(9) + 7;// 7 ~ 15
                //   0 ~ 8  + 7 => 7 ~ 15
        System.out.println(number);

    }
}

二、猜数字小游戏

需求:程序自动生成一个1-100之间的随机数字,使用程序实现猜出这个数字是多少?

package com.itheima.test;

import java.util.Random;
import java.util.Scanner;

public class LoopTest7 {
    public static void main(String[] args) {

        //注意点:
        //1.生成随机数的代码int number = r.nextInt(100) + 1;不能写在循环的里面的,否则每一次都会产生一个新的随机数

        //2.抽奖机制
        //用点券去抽水晶
        //保底 360次,如果360次没中,就会送你个水晶

        //扩展小需求:加一个保底机制,3次猜不中,直接提示猜中了。

        //计数器
        //用来统计当前已经猜了多少次。
        int count = 0;
        //分析
        // 1. 生成一个1-100之间的随机数字
        Random r = new Random();
        int number = r.nextInt(100) + 1;
        System.out.println(number);
        // 2. 猜这个数字是多少
        Scanner sc = new Scanner(System.in);
        while(true){
            System.out.println("请输入你要猜的数字");
            int guessNumber = sc.nextInt();

            //3 . 判断两个数字给出不同的提示
            //猜的数字大了,提示 大了
            //猜的数字小了,提示 小了
            //猜的数字一样,提示猜中了
            count++;
            if(count == 3){
                System.out.println("猜中了");
                break;
            }
            if(guessNumber > number){
                System.out.println("大了");
            }else if(guessNumber < number){
                System.out.println("小了");
            }else{
                System.out.println("猜中了");
                break;
            }
        }


    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值