2013-01-05 43 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将永远不会被击中 –

相关问题