我是一名新手Java学生。我在学校只学习了几个月的编程,所以我目前很擅长这一点,而且常常感到卡住我的作业。
无论如何,我对作业有疑问。我一直在环顾四周,并没有找到我需要的答案,所以我希望能在这里找到一些帮助。非常感谢。我的任务是这样的:"编写一个创建Date对象和Random对象的程序。使用Random对象将循环中Date对象的经过时间设置为0
和100000000000
之间的10个长值,并显示随机长度和相应的日期和时间。"
我们刚刚介绍了类java.util.Random
和java.util.Date
来处理这个赋值,并且应该使用它们来创建所需的Date和Random对象。
我真正知道如何处理此任务的唯一方法是如何启动代码:
public class RanDate {
public static void main(String[] args) {
如何创建循环:
for (int i = 0; i <= 10; i++) {
如果我的问题太模糊,或者我没有正确地提出问题,我很抱歉。这是我第一次在这个网站上寻求帮助。提前感谢您的帮助。
答案 0 :(得分:3)
这个怎么样?
Random rnd = new Random();
Date date = new Date(Math.abs(System.currentTimeMillis() - rnd.nextLong()));
System.out.println(date.toString());
只需用[{1}}减去实际时间System.currentTimeMillis()
和随机生成的长数字。最好将它全部包装到rnd.nextLong()
。
答案 1 :(得分:2)
试试这段代码。 我认为赋值要求long为date对象中的值,但我不是shure。
public static void main(String[] args) {
Long max =0L;
Long min =100000000000L;
//Use the date format that best suites you
SimpleDateFormat spf = new SimpleDateFormat("dd/MM/yyyy");
for (int i = 0; i <= 10; i++) {
Random r = new Random();
Long randomLong=(r.nextLong() % (max - min)) + min;
Date dt =new Date(randomLong);
System.out.println("Generated Long:"+ randomLong);
System.out.println("Date generated from long: "+spf.format(dt));
}
}
示例输出:
Generated Long:68625461379
从长时间生成的日期:05/03/1972