2013-01-05 41 views
0

所以我正在研究一個需要每天顯示一個值,一個特定字符串的應用程序。我把所有的字符串放在一個數組中,現在我只需要一種方法來每天增加一次索引。推動者是,如果用戶在一年中晚些時候下載應用程序,我需要將所有其他日子計算在內。因此,基本上用戶會看到與第一天下載應用程序的人相同的提示。有什麼建議麼?我怎樣才能每天迭代一個數組?

會使用Calendar類是我最好的選擇嗎?我只是不想爲每年的每一天設置一個單獨的開關和案例。

+1

陣列不能改變它們的大小。 'ArrayList'可以。 – MrSmith42

+5

也許使用一個'Map'作爲一個關鍵字和文本作爲值。 – MrSmith42

+0

我第二個使用日期作爲關鍵的概念。那麼無論如何,每個人都會在同一天獲得相同的價值。 – NickD

回答

0

,如果我理解正確(鮑勃下載的應用程序百天前應該看到相同的舌尖愛麗絲誰今天下載的應用程序),您可以用日曆的DAY_OF_YEAR值顯示同一日期

Calendar ca1 = Calendar.getInstance(); //get today's date 

    int DAY_OF_YEAR=ca1.get(Calendar.DAY_OF_YEAR) -1; //DAY_OF_YEAR starts at one 

    //avoid IndexOutOfBoundsExceptions 
    String tip = tiparray[DAY_OF_YEAR % tiparray.length]; 
+0

如果您使用非週期性價值(自2000年1月1日以來的天數?) - 如果他有360個問題並使用「每年的日子」,他的第一個5-6個問題將在年底重複。 –

+0

你可以使用'(ca1.getTimeInMillis/1000/60/60/24)%tiparray.length'來實現。這將使您獲得自1月1日以來的天數197 –

0

不知道我是否完全明白這個問題。我認爲你需要在每一天爲每個人展示相同的提示,對吧?

如果是這樣,你可以使用Calendar.DAY_OF YEAR:

Calendar cal = Calendar.getInstance(); 
int index=cal.get(Calendar.DAY_OF_YEAR); 
+0

對於日曆,DAY_OF_YEAR從1開始,因此索引0將永遠不會被擊中 –

相關問題