gpt4 book ai didi

java - 从特定数字生成随机数?

转载 作者:行者123 更新时间:2023-12-01 12:19:20 24 4
gpt4 key购买 nike

我想从特定数字生成随机数。例如:

如果我有这个数字 1234,我想从中(或为它)生成一个随机数来替换旧数字。但新号码仅适用于旧号码。

目的是,接收一个数字,将其更改为随机数,但知道该随机数属于旧数字。

这是我到目前为止所拥有的:

long seed ="seed".hashCode();
Random rnd = new Random(seed);
int a = fourDigitIntRandom(rnd);
int b = fourDigitIntRandom(rnd);

public static int fourDigitIntRandom(Random rnd){
int a1 = rnd.nextInt(10);
int a2 = rnd.nextInt(10);
int a3 = rnd.nextInt(10);
int a4 = rnd.nextInt(10);
int a = Integer.parseInt(a1+""+a2+""+a3+""+a4);
return a;
}

但是,这只是生成一个 4 位随机数。

更好的例子

我有几个文件。每个文件中都有几个与电话号码对应的数字。

我想通过将每个数字的最后 4 位更改为根据种子文件名称随机生成的新数字来匿名化每个数字。

但我希望每个数字的更改始终相同。

所以如果我有数字 12345678 并将其更改为 12349876(9876 是一个随机数)。

然后在文件中,出现相同的数字,我希望更改相同。

最佳答案

类似这样的事情:`

public static String nDigitIntRandom(Random rnd, int numOfdigits) {
final StringBuilder sb = new StringBuilder();
for(int i = 0; i < numOfdigits; i++) {
sb.append(rnd.nextInt(10));
}
return sb.toString();
}

`您可能最好使用字符串而不是整数,因为您可以轻松超过 MAX_INT。您还需要保留每个电话号码使用的种子

关于java - 从特定数字生成随机数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26804940/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com