【问题标题】:Cycle through an array循环遍历数组
【发布时间】:2014-06-04 03:42:38
【问题描述】:

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

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

现在假设您有一个数组,它使用数组跟踪一年中的每一天 由 366 个元素组成。(闰年额外增加 1 个)。

是否可以编写一个循环或其他东西,当完成循环遍历 days 数组时,它会重置回星期一以保持,以便输出看起来像:

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

【问题讨论】:

    标签: java loops testing


    【解决方案1】:

    只需使用模运算符(%)

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

    【讨论】:

    • 很好,我没有使用足够的模运算符来理解何时使用它。对我来说,这是一次教过的东西,但从未真正实施过。谢谢。
    【解决方案2】:

    使用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...

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-10
      • 1970-01-01
      • 2018-04-01
      • 2013-12-16
      • 2011-01-25
      • 2013-02-12
      相关资源
      最近更新 更多