循环一个数组

时间:2014-04-19 19:10:19

标签: java loops testing

假设您有一个包含星期几的数组:

String days[]={"monday","tuesday","wednesday","thursday",
               "friday","saturday","sunday"};

现在假设您有一个数组,可以使用数组跟踪一年中的每个数字日 由366个元素组成。(闰年增加1个)。

是否有可能编写一个循环或其他东西,当完成在days数组中循环时,它会重置为monday以保持输出看起来像:

星期一:1 星期二:2 周三:3 周四:4 周五:5 星期六:6 星期日:7 周一:8 周二:9 一直到366

2 个答案:

答案 0 :(得分:4)

只需使用模运算符(%)

for (int i = 1; i <= 366; i++) {
    System.out.format("%s:%d%n", days[(i - 1) % days.length], i);
}

答案 1 :(得分:0)

使用modulo操作

int[] year = new int[366];

for(int i = 0 ; i < year.length ; i++) { // initialize the days
    year[i] = i;
}

String[] days = {"monday","tuesday","wednesday","thursday",
               "friday","saturday","sunday"};

for(int i = 0; i < year.length; i++) {
    System.out.println(days[i % (days.length)] + ":" + year[i]);
}

的产率 星期一:0 周二:1 周三:2 周四:3 周五:4 星期六:5 星期日:6 周一:7 星期二:8 星期三:9 ...