使用Java基于迭代从String数组中查找日期

问题描述

我的字符串数组和输入内容如下

S = "Tue" and K = 23

        String[] daysOfWeek = {"Mon","Tue","Wed","Thu","Fri","Sat","Sun"};

我以“ Tue”作为输入,并在10天后找到第二天。我期望答案是“星期五”

这是我的代码

        String[] daysOfWeek = {"Mon","Sun"};
    int day = Arrays.asList(daysOfWeek).indexOf(S);
    int n = K % 7;
    if((day + n) > 6) {
        int index = (day + n) % 6;
        //return daysOfWeek[ ];

    } else {
        return daysOfWeek[day + n ];

    }
    return null;

任何想法

解决方法

您可以使用java.time.DayOfWeek而不是重新发明轮子。

例如:

DayOfWeek dayOfWeek = DayOfWeek.TUESDAY;
DayOfWeek dayOfWeek1 = dayOfWeek.plus(10);
System.out.println(dayOfWeek1); // FRIDAY
,

要简单!

mt<- mtcars %>% group_by(cyl,am) %>% nest() %>% 
  mutate(formula = "Add separate model for each row in text like mpg~wt for one row,mpg~wt+hp for another etc.")

mt$formula[[1]] <- "mpg~wt"
mt$formula[[2]] <- "mpg~wt+drat"
mt$formula[[3]] <- "mpg~wt+qsec"
mt$formula[[4]] <- "mpg~wt+gear"
mt$formula[[5]] <- "mpg~wt"

mt<- mutate(model = ?)
,

您可以对之后的天数进行模7运算,然后您可以根据输出结果找到将索引从起始位置移至结果。

,

混合方法-

String[] daysOfWeek = {"Mon","Tue","Wed","Thu","Fri","Sat","Sun"};
int today = LocalDate.now().getDayOfWeek().getValue()-1;
for (int i = 0; i < 31; i++) {
    System.out.println(daysOfWeek[today] + " >>>     " + i + "  - " + daysOfWeek[(today+i)%7]);
}