【发布时间】:2020-03-31 05:36:12
【问题描述】:
指令是为每个对象创建一个随机日期,其范围在以下说明中指定的范围内,以便将采访槽对象存储在 中。我不完全确定如何做到这一点
创建随机数量的 InterviewSlot 对象并将它们存储在槽容器中。
使用 Math.random() 方法在创建的对象中创建变体:
- 以小时为单位制作日期的变化范围。
- 范围应为 30 天,这意味着日期可能在 比如说,今天和 30 天后。范围的最大值将相等 到 30*24。
- 您可以将范围的最小值设置为 1。
- 使持续时间在 1 到 60 之间变化。
对象示例:
Thu Apr 02 05:28:59 EDT 2020 duration:18
Fri Mar 27 00:22:32 EDT 2020 duration:48
Wed Apr 01 20:22:32 EDT 2020 duration:8
Sat Mar 28 19:22:32 EDT 2020 duration:31
import java.util.Calendar;
import java.util.Date;
public class InterviewSlot implements Comparable<InterviewSlot> {
Calendar cal = Calendar.getInstance();
private Date startTime = cal.getTime();
private Integer duration;
public InterviewSlot(Date start, Integer d) {
setDuration(d);
setStartTime(start);
}
public void setDuration(Integer duration) {
this.duration = duration;
}
public void setStartTime(Date startTime) {
this.startTime = startTime;
}
public Integer getDuration() {
return duration;
}
public Date getStartTime() {
return startTime;
}
@Override
public String toString() {
// TODO Auto-generated method stub
return "Interview Start " + getStartTime() + "Duration : " + getDuration();
}
@Override
public int compareTo(InterviewSlot s) {
return this.getStartTime().compareTo(s.getStartTime());
// TODO Auto-generated method stub
}
}
import java.awt.List;
import java.util.ArrayList;
public class DataCreator {
public static <E extends Comparable<E>> void outputData(ArrayList<E> l) {
for (E L : l) {
System.out.println(L);
}
}
public static void createIntegers(ArrayList<Integer> a, int num) {
// double random = (int)(Math.random()*((100-1)+1))+1;
for (int i = 0; i < num; i++) {
Integer random = (int) (Math.random() * ((100 - 1) + 1)) + 1;
a.add(random);
}
;
}
public static void createData(ArrayList<InterviewSlot> slots, int num) {
}
}
【问题讨论】:
-
那么你的问题是什么?
-
我强烈建议您使用
java.time,它是用于处理日期和时间的新 Java API。它比Date和Calendar等旧类更健壮、更好用。 -
@ScaryWombat 如何使用随机生成器为我的日期生成 1 到 30 天之间的值,如说明中所暗示的那样
标签: java sorting collections