⑴ java如何获取一个5位随机数(不重复)和年月日并存在一个变量中
public static void function(){
int n=0;
n=(int)(Math.random()*100000);
while(n<10000 || !handle(n)){
n=(int)(Math.random()*100000);
}
System.out.println("n="+n);
}
public static boolean handle(int n){
int[] list=new int[5];
for(int i=0;i<5;i++){
list[i]=n%10;
n=n/10;
}
for(int i=0;i<5;i++){
for(int j=i+1;j<5;j++){
if(list[i]==list[j]) return false;
}
}
return true;
}
public static void main(String args[]) throws Exception{
function();
}
⑵ Java怎么生成随机日期
Random random = new Random();
Calendar can = Calendar.getInstance();
for (int i = 0; i < 10; i++) {
can.setTimeInMillis(random.nextLong());
System.out.println(can.getTime());
}
利用Calendar类设置一个随机数,获得一个随机日历,再取时间
⑶ java的random()方法产生的伪随机数是系统用当前时间作为种子,那么问题来了……我想设置用我
可以用构造方法
Random r=new Random(1234);//自己的种子1234
也可用
r.setSeed(1234);
⑷ java timer类实现随机时间调用方法
//一秒后开始执行,每五秒内随机执行一次.
import java.util.Random;
import java.util.Timer;
import java.util.TimerTask;
import java.util.Date;
public class test1{
public static void main(String[] args) throws Exception{
Timer time=new Timer();
time.schele(new tast(),1000,5000);
}
}
class tast extends TimerTask{
public void run(){
Date date=new Date();
System.out.println("I'm start!"+date.toString());
Random random=new Random();
try{
Thread.sleep(random.nextInt(5000));
}catch(Exception e){
e.printStackTrace();
}
date=new Date();
System.out.println("I'm execute!"+date.toString());
}
}
⑸ java怎么获得以当前时间为种子的随机数
importjava.util.Random;
publicclassRandomDemo{
publicstaticvoidmain(String[]args){
longt=System.currentTimeMillis();//获得当前时间的毫秒数
Randomrd=newRandom(t);//作为种子数传入到Random的构造器中
System.out.println(rd.nextInt());//生成随即整数
}
}
⑹ java 随机时间
java生成某个时间段内的随机时间(先定义一个时间段,之后随机生成符合条件的时间):
DaterandomDate=randomDate("2010-09-20","2010-09-21");
/**
*生成随机时间
*@parambeginDate
*@paramendDate
*@return
*/
privatestaticDaterandomDate(StringbeginDate,StringendDate){
try{
SimpleDateFormatformat=newSimpleDateFormat("yyyy-MM-dd");
Datestart=format.parse(beginDate);//构造开始日期
Dateend=format.parse(endDate);//构造结束日期
//getTime()表示返回自1970年1月1日00:00:00GMT以来此Date对象表示的毫秒数。
if(start.getTime()>=end.getTime()){
returnnull;
}
longdate=random(start.getTime(),end.getTime());
returnnewDate(date);
}catch(Exceptione){
e.printStackTrace();
}
returnnull;
}
privatestaticlongrandom(longbegin,longend){
longrtn=begin+(long)(Math.random()*(end-begin));
//如果返回的是开始时间和结束时间,则递归调用本函数查找随机值
if(rtn==begin||rtn==end){
returnrandom(begin,end);
}
returnrtn;
}
⑺ java表达式30/7的结果是
java表达式30/7的结果是4。
在Java中,日谈颂毁期有两种表示方法,Date和Calendar,Date用毫秒数表示当前时间,无法对日期进行操作,比如加一天,减一天等,而Calendar则可以对日期进含备行加减计算。
首先来了解一下Calendar的几个方法和静态常量
calendar.get(int field),获取日期中的年、月、日、时、分、秒,返回的年份不必转换,返回的月份则要加1,返回的星期时,要注意,17分别表示周一周六
calendar.add(int field, int amount),对日期进行运算操作,比如加一天,减一天等
field中可用字段如下:
Calendar.YEAR:年
Calendar.MONTH:月从0开始
Calendar.DATE:日
Calendar.HOUR:12小时
Calendar.MINUTE:当前分钟
Calendar.SECOND:当前秒
Calendar.AM_PM:0-上午;1-下午
Calendar.DAY_OF_MONTH:当天
Calendar.HOUR_OF_DAY:24小时
Calendar.DAY_OF_WEEK::1~7 星期日~星期六
Calendar.WEEK_OF_YEAR:当前年的第几周
Calendar.WEEK_OF_MONTH:当前月的星期数
Calendar.DAY_OF_WEEK_IN_MONTH:当前月中的第几个星期
Calendar.DAY_OF_YEAR:当前年的第几樱高天
那么我们来看方法一,通过Calendar计算日期
方法一:通过Calendar计算
public static void main(String[] args) throws Exception {
Map time = getTime("1","","");
System.out.println(time.get("start"));
System.out.println(time.get("end"));
}
public static Map getTime(String label, String startTime, String endTime) throws Exception{
//昨日
if ("1".equals(label)){
Map map = calcTime(-1);
return map;
}
//7天
if ("2".equals(label)){
Map map = calcTime(-7);
return map;
}
⑻ 用java写一个随机数生成函数,不用系统时间,如何实现。
随机数生成函数是有一些公式的,但具体忘了。但公式(或者算法)是死的,你相同的输入(或者输入为空)得到的输出肯雹余定是相同的,所以要真正实现随机数生成,必需要有一个“随机输入”,或者称作“种子”(Seed),而这个seed使用系统时间是非常合适的,但如果你硬不要系统时间,那么你就得找槐团个替源明滚代方案,譬如读取内存地址(内存地址范围很大,随机效果很好)。
⑼ java 根据时间的随机数 随机吗
用程序生成的没有真正的随机数,随机数生成算法一般用当前时间作为种子来生成随机数,较大概率的保证了随机性,但是实际上也是伪随机,严格意义上讲还是有一定的规律可循的。
⑽ java中表示当前日期的前5年内的随机日期怎么表示
java表示距当前时间100天后的日期的方隐肆凯法是用Calader对象。核心代码灶唤如下:1、创建Calendar对象Calendarcalendar=Calendar.getInstance();2、调用add方法给当雹没前日期增加100天calendar.add(Calendar.DATE,100);3、返回100天后的时间ret