Android Studio的笔记--随机数

android java获取随机数

String

获取 x 位 由0到9组成的随机字符串。

调用方法

java 复制代码
Log.i("lxh", "获取由数字0到9组成的随机字符串:" + getStr(12));

函数

java 复制代码
    public String RandomStr(int length) {
        String characters = "0123456789";
        Random random = new Random();
        StringBuilder sb = new StringBuilder(length);
        for (int i = 0; i < length; i++) {
            int randomIndex = random.nextInt(characters.length());
            char randomChar = characters.charAt(randomIndex);
            sb.append(randomChar);
        }
        return sb.toString();
    }

    private static Set<String> stringSet = new HashSet<>();

    public boolean isRepeat(String str) {
        if (stringSet.size() >= 10000) {
            stringSet.clear();
        }

        if (!stringSet.contains(str)) {
            stringSet.add(str);
            return true;
        }
        return false;
    }

    public String getStr(int length) {
        String back = "";
        while (true) {
            String ss = RandomStr(length);
            Log.d("TAG", "rs=" + ss);
            if (isRepeat(ss)) {
                back = ss;
                break;
            }
        }
        return back;
    }

未完待续...

与君共勉!待续

欢迎指错,一起学习

相关推荐
xian_wwq2 小时前
【学习笔记】RAG 只是 Context Engineering 的一小块-5/16
笔记·学习·rag
Tim_102 小时前
【C++】024、new[]与delete[]配对使用
java·开发语言
iCxhust2 小时前
8088单板机VScode集成开发环境使用方法
ide·笔记·vscode·编辑器·微机原理·8088单板机
小黑技术栈2 小时前
Java前端基础到入门——16day
java·开发语言·前端
文人sec2 小时前
MySQL事务与索引做了什么?
android·笔记·mysql
NoteStream2 小时前
【C语言基础】分支和循环(上)
c语言·开发语言·c++·经验分享·笔记·算法·c#
2401_827499992 小时前
C++(黑马)05-提高编程
java·开发语言·c++
卷心菜的学习路3 小时前
基于多模态向量检索的数学相似题推荐系统:完整设计、算法与实验
java·python·算法·大模型·推荐算法·数学相似题
zzm6283 小时前
位置偏差估计与无偏排序学习——WSDM 2018论文精读笔记
笔记·学习
kdxiaojie4 小时前
Linux 驱动研究 —— SDIO (1)
linux·运维·笔记·学习·sdio