【问题标题】:print first array element when it ends结束时打印第一个数组元素
【发布时间】:2015-07-01 19:10:12
【问题描述】:

正如主题所述以及我之前的帖子

这需要我在数组位置打印 4 个连续数字

我已经理解了给我的代码。然而,Fast Snail 的评论让我彻底思考了这个程序,并且确实让我思考了如何让数组再次打印它的第一个位置元素。

例如(“注意”数组大小为 20)给我的数组位置是 18,程序必须打印位置 19, 20, 1 ,2 中的元素。我已经设法了解如何在位置 19 和 20 打印元素,但我不知道如何对其进行编程以打印回它的第一个位置。

再次感谢您提供的任何帮助!

【问题讨论】:

  • 备注:数组是从 0 开始索引的,所以大小为 20 的数组的索引为 019。问题:是什么阻碍了您通过myArray[0] 简单地访问第一个数组元素?

标签: java arrays printing


【解决方案1】:

对数组的长度使用 mod 操作。

18 % 20 = 18
19 % 20 = 19
20 % 20 = 0(数组的第一个元素)
21 % 20 = 1

int firstPrint = 18;//or a random value

for(int i = firstPrint; i < firstPrint + 4; i++) {
    System.out.println(myArray[firstPrint % myArray.length]);
} 

【讨论】:

    【解决方案2】:

    只要使用modulo operator(%)在越界时在范围内循环(数组长度 - 1):

    int[] arr = new int[20];
    int startIndex = Math.random()*arr.length;
    
    
    for(int i = startIndex; i < startIndex+4; i++) {
        System.out.println(arr[i%arr.length]);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-31
      • 1970-01-01
      • 2019-01-19
      • 1970-01-01
      • 2019-09-12
      • 1970-01-01
      • 2012-09-25
      • 2022-01-13
      相关资源
      最近更新 更多