我需要生成String个随机整型,我可以使用一个循环

import java.util.Random;

public class RandomNumbers {
    public static void main(String[] args) {
        Random r = new Random();
        String pageReferenceString = "";
        for (int i = 0; i < 100; i++) {
            pageReferenceString += String.valueOf(r.nextInt(9));
        }
        System.out.println(pageReferenceString);
    }
}

但是,它似乎太复杂,我也可以使用STREAMS

import java.util.Random;
import java.util.stream.IntStream;

public class StreamRandomNumbers {
    public static void main(String[] args) {
        Random r = new Random();
        String pageReferenceString = IntStream
            .generate(() -> r.nextInt(9))
            .limit(100)
            .mapToObj(String::valueOf)
            .reduce((a, b) -> a+b) // a.concat(b)
            .get();
        System.out.println(pageReferenceString);
    }
}

但这仍然太复杂了.

有什么简单的方法可以做到这一点吗?

推荐答案

try 使用java.math.BigInteger表示字符串的java.math.BigInteger位十进制数字:

String s = new java.math.BigInteger(336,new Random()).toString().substring(0,100);
System.out.println(s.length() + " : " + s);

产生:

100 : 3627584459248992174732353013411646520422611738128940010551544228607987109715317481157384457047726562

336是确保100位数字所需的位数,并说明了前导0的"缺失".

Java相关问答推荐

在Java中测试DAO方法:假实现与内存数据库

为什么一个java函数会返回一个作为参数传递给它的对象?

如何调整工作时间日历中的时间

由于我在Main方法中关闭了 scanner ,但在该方法中创建了一个新的 scanner ,因此出现了错误

如何使用Jackson将XML元素与值和属性一起封装

格式中的特定回录键-值对

声明MessageChannel Bean的首选方式

为什么同步数据块无效?

在Java 15应用程序中运行Java脚本和Python代码

Groovy/Java:匹配带引号的命令选项

buildDir:File!&#的getter解决方案是什么?39.被抛弃

如何在Spring Boot中创建可以将值传递给配置的&Enable&Quot;注释?

Cordova Android Gradle内部版本组件不兼容

从LineChart<;字符串、字符串和gt;中删除数据时出现特殊的ClassCastException;

本机方法(JNI)总是编译的吗?

用于Java的Visual Studio代码完成不起作用

协同 routine 似乎并不比JVM线程占用更少的资源

当我将JTextField的getText函数与相等的String进行比较时;t返回true

如何使用Hibernate v6.2构建NamingStrategy,以表名作为所有列的前缀?

Java方法参数:括号中的类型声明?