我有一个12位数字,其中前8位数字是固定的,但最后4位数字(数字)我想要不同,它给我范围(0000-9999)。问题是这个脚本可能每天运行2-3次或不同的日子。 如果我使用随机函数,可能会发生今天生成的一个数字与明天相同。任何解决方案,每天/每天获得不同的4位数字。
答案 0 :(得分:1)
您无法将时间唯一压缩到4位数字,以便立即消除此方法。
您需要做的是在某个地方存储一个计数。从0开始。您的脚本需要递增存储的数字,执行其任务,然后存储递增的值。如果该值达到10000,那么您已达到计划的容量限制。
如果您需要将出现的方案随机发送给您的用户,则将该连续方案映射到一组混乱的数字,仅用于构建12位数字。
答案 1 :(得分:-1)
我知道这可能不是你想要的,但这是我制作的一种方法,它可以从时间和几个数组中生成一个随机数,如果可以的话,操纵并使用它:)
import java.text.*;
import java.util.*;
public class Randomizer {
public void randomizer() throws InterruptedException {
Randomizer r = new Randomizer();
int[] numbers = { 3, 7, 2, 62, 1, 53, 16, 563, 12, 13, 75 };
Calendar rightNow = Calendar.getInstance();
int hour = rightNow.get(Calendar.HOUR_OF_DAY);
int minute = rightNow.get(Calendar.MINUTE);
int seconds = rightNow.get(Calendar.SECOND);
int[] numbers2 = { 10, 32, 61, 2, 5 };
int[] date = { hour, minute, seconds };
int RandomNumber = (r.getRandom(date) * r.getRandom(numbers)) + r.getRandom(numbers2);
System.out.println("Random number generated: " + RandomNumber);
}
public static int getRandom(int[] array) {
int rnd = new Random().nextInt(array.length);
return array[rnd];
}
public static void main(String[] args) throws InterruptedException {
Randomizer r = new Randomizer();
r.randomizer();
}
}