如果今天是星期一,它的编号是2。我需要在数组列表中添加下5个工作日,其中不应该包括星期日(假日)。我刚开始学习编码,我正在学习第九标准。请帮我编码。谢谢你进来!
public class WeekView {
public static void main(String args[]) {
List<Integer> daysList = new ArrayList<>();
int m = 6, dayOfWeek = 6;
for (int i = 1; i <= m; i++) {
if (dayOfWeek == 1) {
daysList.add(dayOfWeek);
dayOfWeek++;
} else if (dayOfWeek == 2) {
daysList.add(dayOfWeek);
dayOfWeek++;
} else if (dayOfWeek == 3) {
daysList.add(dayOfWeek);
dayOfWeek++;
} else if (dayOfWeek == 4) {
daysList.add(dayOfWeek);
dayOfWeek++;
} else if (dayOfWeek == 5) {
daysList.add(dayOfWeek);
dayOfWeek++;
} else if (dayOfWeek == 6) {
daysList.add(dayOfWeek);
for (int j = 1; j < dayOfWeek; j++) {
daysList.add(j);
}
}
}
System.out.println("Day Num :" + daysList);
} }我现在的输出是
Day Num :[6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5]但我需要如下所示的输出
6,1,2,3,4,5发布于 2019-05-04 09:24:56
List<Integer> daysList = new ArrayList<>();
int day = 6;
for (int i = 0; i < 6; i++) {
daysList.add(day);
day++;
if(day > 6) day = 1;
}
System.out.println("Day Num :" + daysList);其中:
i迭代工作日数。daysList.add(day)days++到第二天的每一个循环迭代if(day > 6) day = 1将回到周一,如果day到达周日发布于 2019-05-04 15:18:45
您不必在增量的同时添加到day,您可以使用模数运算符来删除if检查。喜欢,
int day = 6;
List<Integer> daysList = new ArrayList<>();
for (int i = 0; i < 6; i++) {
daysList.add(1 + ((day + i - 1) % 6));
}
System.out.println("Day Num :" + daysList);或者在Java 8+中使用IntStream生成以下值
int day = 6;
List<Integer> daysList = IntStream.range(0, 6).map(i -> 1 + ((day + i - 1) % 6)).boxed()
.collect(Collectors.toList());
System.out.println("Day Num :" + daysList);https://stackoverflow.com/questions/55980971
复制相似问题