Java生成一个随机数

Java生成一个随机数

1、使用Random rd = new Random

java 复制代码
//生成一个0-9的随机数
Random rd = new Random();
int n = rd.nextInt(10);
System.out.println(n);

//1.8版本之后还可以生成11-15的随机数
int m = rd.nextInt(11,16);//左闭右开区间
System.out.println(n);

2、使用Math.random()

java 复制代码
//生成一个0-9的随机数
int n = (int) (Math.random()*10);
System.out.println(n);

3、根据以上可以实现一个随机数字小游戏。

分析:

  • 先生成一个1-100的随机数
  • 再写一个循环,比较输入的数与随机数,一样则跳过

实现代码:

java 复制代码
    public static void main(String[] args) {
        //猜数字
        // int n = (int) (Math.random()*100);
        Random rd = new Random();
        int n = rd.nextInt(100) + 1;
        System.out.println("欢迎来到猜数字小游戏,请输入一个1-100的数字吧!");
        Scanner sc = new Scanner(System.in);
        while (true){
            int x = sc.nextInt();
            if (x == n){
                System.out.println("恭喜你猜对了");
                return;
            }
            if (x > n) {
                System.out.println("猜的太大了,请再猜一次吧");
            }
            if (x < n) {
                System.out.println("猜的太小了,请再猜一次吧");
            }
        }
    }

4、验证码的实现。

通过上述,我们可以衍生思考一下验证码是怎么生成的。

java 复制代码
public static void main(String[] args) {
        //Random随机数类生成验证码
        //先定义验证码的长度
        int codeLength = 5;

        //使用StringBuilder减少字符串拼接的次数
        StringBuilder code = new StringBuilder();

        for (int i = 0; i < codeLength; i++) {
            // 随机大写字母的ASCLL码
            int upperLetter = (int) (Math.random()*26)+65;
            // 随机小写字母的ASCLL码
            int lowerLetter = (int) (Math.random()*26)+97;
            // 随机数字的ASCLL码
            int number = (int) (Math.random()*10)+48;
            // 定义验证码判断规则
            int random = (int) (Math.random()*3)+1;
            switch (random){
                case 1:
                    code.append((char) upperLetter);
                    break;
                case 2:
                    code.append((char) lowerLetter);
                    break;
                case 3:
                    code.append((char) number);
                    break;
            }
        }
        System.out.println(code);
    }
相关推荐
墨染青竹梦悠然1 小时前
基于Django+vue的图书借阅管理系统
前端·vue.js·后端·python·django·毕业设计·毕设
怪兽毕设1 小时前
基于Django的洗衣服务平台设计与实现
后端·python·django·洗衣服务平台
程序员泠零澪回家种桔子2 小时前
微服务日志治理:ELK 栈实战指南
后端·elk·微服务·云原生·架构
qq_12498707532 小时前
基于html的书城阅读器系统的设计与实现(源码+论文+部署+安装)
前端·vue.js·spring boot·后端·mysql·信息可视化·html
CodeToGym2 小时前
【全栈进阶】Spring Boot 整合 WebSocket 实战:从实时告警到金融行情推送
java·后端·spring
Leinwin2 小时前
Moltbot 部署至 Azure Web App 完整指南:从本地到云端的安全高效跃迁
后端·python·flask
毕设源码-邱学长2 小时前
【开题答辩全过程】以 基于Springboot个人健康运动系统的设计与实现为例,包含答辩的问题和答案
java·spring boot·后端
愿你天黑有灯下雨有伞2 小时前
Spring Boot + FastExcel:打造完美的导入校验功能
java·spring boot·后端
云霄IT3 小时前
go语言post请求遭遇403反爬解决tls/ja3指纹或Cloudflare防护
开发语言·后端·golang
Dragon Wu3 小时前
OpenAPI 3.0(Swagger3/Knife4j)完整简洁注解清单
spring boot·后端·springboot