Java数组循环

时间:2017-08-12 21:24:41

标签: java arrays

我在Java中有一个数组,想要找到数组中的下一个元素。

我想继续获取数组中的下一个元素。而不是到达数组的末尾并停止,我怎样才能使它再循环到数组的开头并继续这样做?

1 个答案:

答案 0 :(得分:0)

例如,假设我们有一个字符串数组。

让我们考虑一些方法。

使用显式索引检查

另一种方法是使用显式检查索引超出最大值并重置它以使索引保持在所需的范围内。

请考虑以下草案实施:

public class Program {
    public static void main(final String[] args) throws InterruptedException {
        final String[] words = new String[] {
            "Hello",
            "World",
            "Goodbye",
            "World"
        };

        int index = 0;
        while (index < words.length) {
            System.out.printf(
                "Index: %d; Value: %s.%n",
                index,
                words[index]
            );

            ++index;
            if (index == words.length) {
                index = 0;
            }

            Thread.sleep(1000);
        }
    }
}

使用模运算

请考虑以下草案实施:

public class Program {
    public static void main(final String[] args) throws InterruptedException {
        final String[] words = new String[] {
            "Hello",
            "World",
            "Goodbye",
            "World"
        };

        int index = 0;
        while (index < words.length) {
            System.out.printf(
                "Index: %d; Value: %s.%n",
                index,
                words[index]
            );

            ++index;
            index %= words.length;

            Thread.sleep(1000);
        }
    }
}

这里的关键是使用模运算(找到除法后的余数)以使索引保持在所需的范围内。

两种方法的注释

  1. 如果数组不为空,则存在无限循环。
  2. index < words.length作为while循环条件来正确处理空数组。
  3. 希望这有帮助。