首页 > 解决方案 > 如何生成特定位置上的数字必须来自特定范围的数字?

问题描述

我想编写一个随机生成一个 11 位数字的程序,其中前六位数字分别YYMMDD代表年、月和日。例如:931231

这是我的代码

long min = 30000000000L;
long max = 99000000000L;
long res=min +(long)(Math.random() * ((max - min) + 1));

标签: javanetbeans

解决方案


如果我正确理解您的问题,您正在尝试生成一个代表随机日期的数字,如果是这种情况,您可以尝试以下操作:

Random rand = new Random();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd");
long res = Long.parseLong(dateFormat.format(new Date(rand.nextLong())) + (long) (Math.random() * 100000));

推荐阅读