每次/每天随机数

时间:2016-05-06 12:47:20

标签: java groovy

我有一个12位数字,其中前8位数字是固定的,但最后4位数字(数字)我想要不同,它给我范围(0000-9999)。问题是这个脚本可能每天运行2-3次或不同的日子。 如果我使用随机函数,可能会发生今天生成的一个数字与明天相同。任何解决方案,每天/每天获得不同的4位数字。

2 个答案:

答案 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();

}

}