产生一个随机数,该数字当日不变

java 产生一个随机数,怎么使该数字当日不变,每天都要产生一个新的随机数,但当天刷新该数字都不会改变
今天之间我运行某个程序得到的随机数都是同一个,但到了第二天刷新得到了又是一个新的随机数,但是当天是不会变的。 比如: 今天2016-12-29得到的是5,在2016-12-29那天访问都是5; 明天2016-12-30得到的是2,在2016-12-30那天访问都是2

4个回答

用固定的种子去产生随机数,在这一天里使用一个固定的种子去产生随机数,比如简单的使用当前年月日每位的和为种子,比如2016年12月29日,
种子就是2+0+1+6+1+2+2+9 = 23

Random r = new Random (23) ;  
r.nextInt ()

种子只要当天一样,取出来的随机数都一样的

如果是每天一个随机数,直接用当天日期的秒值就可以了么?为什么还需要随机数呢?

存到数据库不就行了?

每天0点生成一个,然后存到数据库,第二天继续生成就可以了。

要不存入数据库,做为持久化数据,要不然就每次判断一下,最上面加一个静态变量,当天日期+"_-1_"+随机数,初始化给个当前日期"_-1_"+0,如:20161229_-1_随机数,执行之前,先切割一下,判断日期是不是当前日期,第2个参数是不是-1,如果都匹配上,表示当天日期是第一次生成随机数,就进入生成一个随机数,并且把变量改为当天日期+"_0_"+你获得的随机数,如果当前时间比第一个参数的时间多了一天,那么就把第一个参数改成新的日期,第二个参数改成改成-1,之后它就会判断成功,获得随机数了。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问