2013-04-07 125 views
1

我無法找出問題所在。我必須創建一個存儲進出費用數據的銀行系統,到目前爲止,我已經創建了一個數組對象,每個對象都保存了名稱,金額和幾周時間,例如4.如果我知道這個費用每4周發生一次,我如何自動生成從今年1月開始到結束的日期,例如工資+4000,1/1/12,工資+4000,29/1/12等等?Java - 創建日期列表

如果我知道它應該每X周發生一次,我該如何自動生成日期列表?

+0

多少天在4周內有哪些?從那以後,你可以在計數器變量上做一個簡單的增量。最後,你需要找到一年中第n天的日曆日期。我建議你放下筆記本電腦,拿起日曆來尋找如何完成這最後一步的想法。 – 2013-04-07 21:54:00

回答

-1

您可以使用Java日曆類。

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); 
} 
+1

'now'是什麼?它在哪裏定義? – 2013-04-07 22:04:14

+0

對不起,現在按日期替換(我更改了變量的名稱) – 2013-04-07 22:37:20

+0

此代碼無效。生成的'dates' ArrayList中的所有日期都是相同的。 – stackoverflowuser2010 2015-07-11 19:05:03

0

這是@Héctorvan 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); 
}