java - 如何生成特定位置上的数字必须来自特定范围的数字?
问题描述
我想编写一个随机生成一个 11 位数字的程序,其中前六位数字分别YYMMDD
代表年、月和日。例如:931231
。
这是我的代码
long min = 30000000000L;
long max = 99000000000L;
long res=min +(long)(Math.random() * ((max - min) + 1));
解决方案
如果我正确理解您的问题,您正在尝试生成一个代表随机日期的数字,如果是这种情况,您可以尝试以下操作:
Random rand = new Random();
SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd");
long res = Long.parseLong(dateFormat.format(new Date(rand.nextLong())) + (long) (Math.random() * 100000));
推荐阅读
- spring - 为什么在使用 httpclient 和 java.net 之间会产生不同的响应代码?
- java - 哪个目录放置外部罐子?
- javascript - 如何从请求中获取上传的文件?
- firebase - Firestore 安全规则。用户可以知道人们的 UID 吗?
- apache-kafka - 添加到 connect-mirror-maker.properties MirrorMaker 2 时,SMT 不起作用
- python-3.x - 最后如何摆脱空白?
- powershell - 尝试使用 Graph Api 将成员或所有者添加到团队时出错
- html - 替代 flexbox 进行图像定位?
- c++ - 如何调用具有编译时类型集合的函数并迭代它们?
- java - 无法使用 FileObserver 观察文件夹内的文件