Java-创建日期列表

Java-创建日期列表,java,calendar,Java,Calendar,我很难找出我的问题。我必须创建一个银行系统来存储进出费用的数据,到目前为止,我已经创建了一个对象数组,每个对象都保存名称、金额和周数,例如4。如果我知道该费用每4周发生一次,我如何自动生成从今年1月到年底的日期,例如,工资+4000、1/1/12、工资+4000、29/1/12等等 如果我知道应该每隔X周自动生成一个日期列表,那么如何自动生成该列表?您可以使用Java Calendar类 Calendar date= Calendar.getInstance(); ArrayList<Ca

我很难找出我的问题。我必须创建一个银行系统来存储进出费用的数据,到目前为止,我已经创建了一个对象数组,每个对象都保存名称、金额和周数,例如4。如果我知道该费用每4周发生一次,我如何自动生成从今年1月到年底的日期,例如,工资+4000、1/1/12、工资+4000、29/1/12等等


如果我知道应该每隔X周自动生成一个日期列表,那么如何自动生成该列表?

您可以使用Java Calendar类

Calendar date= Calendar.getInstance();
ArrayList<Calendar> dates = new ArrayList<>();

for (int i=0; i<10; i++)
{
  date.add(Calendar.WEEK_OF_YEAR, 4);
  dates.add(date);
}
Calendar date=Calendar.getInstance();
ArrayList日期=新建ArrayList();

对于(int i=0;i,这里是对@Héctor van den Boorn答案的改进

Calendar date= Calendar.getInstance();
ArrayList<Calendar> dates = new ArrayList<>();

for (int i=0; i<10; i++)
{
  date.add(Calendar.WEEK_OF_YEAR, 4);
  // Create new instance of cal
  Calendar tmp= Calendar.getInstance();
  //Makes its inner values the same
  tmp.setTime(date.getTime());
  // Add unique instance to list
  dates.add(tmp);
}
Calendar date=Calendar.getInstance();
ArrayList日期=新建ArrayList();

对于(int i=0;i四周内有多少天?从那以后,你可以对一个计数器变量进行简单的增量运算。最后,你需要找到一年中第n天的日历日期。我建议你把笔记本电脑收起来,拿起日历,看看如何完成最后一步。现在的
是什么?
?它是在哪里定义的?对不起,请重播ce now by date(我更改了变量的名称)此代码无效。生成的
日期
数组列表中的所有日期都相同。@stackoverflowuser2010:尝试在循环中创建日期。此代码不正确,因为每次都会将日历的同一实例添加到列表中。导致同一日历实例多次出现在列表中。