【发布时间】:2013-02-25 20:50:27
【问题描述】:
我正在寻找的是在java中创建一个星期几的数组,从昨天开始,最多六天
String daysWeek[] = { "Yesterday", "Today", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday"};
我想以昨天和今天返回的数组的前两个元素。
起初,使用
这似乎是一件容易的事currentDay = Calendar.getInstance().get(Calendar.DAY_OF_WEEK);
String daysList[] = {"Sunday", "Monday", "Tuesday", "Wednesday",
"Thursday", "Friday", "Saturday"};
String daysWeek[] = {"Yesterday", "Today", daysList[currentDay], daysList[currentDay+1], ...};
daysList[currentDay] 上面的注释明天将返回,因为 daysList 的数组从 0 开始,即如果 currentDay = 3 表示今天是星期二,那么这将是 daysList[2]。
但我的问题在于,如果 currentDay 是 7,这意味着今天是星期六,那么 currentDay+1 即明天将是数组中不存在的第八个元素。
如果今天是星期三或更晚,那么我可以循环使用我的数字吗?如果今天是周三或之后一次 currentDay + x > 7,请将 currentDay 设置回 1?
这一切都发生在一个称为getDaysList(currentDay) 的方法中,它返回daysWeek[] 数组。
【问题讨论】:
-
WChargin 的答案是对的。我只是想知道你为什么要这样做。使用数组通常是糟糕的面向对象设计的标志。也许您的代码可以重构。如果您能解释将工作日存储在数组中的目标,也许我们可以找到更好的解决方案(或了解您的解决方案是最好的)
标签: java arrays loops calendar dayofweek