首页 > 解决方案 > 如何使用“Do While”循环遍历列表

问题描述

public static boolean hasGreaterDoWhile(List<Integer> numbers, int number) {
    int d = 0;
    do {
        if (numbers.get(d) > number){
            return true;
        }
        d++;
    }
    while (d < numbers.size());
    return false;
}

(仅限 JAVA) Ps 这是我尝试过的一个函数,用于检查第一个参数,如果它包含一个大于第二个参数的数字,它将返回 true,否则返回。请注意,它使用的是 do while 循环。我只是不知道这段代码的哪一部分我做错了,因为系统一直告诉我“java.lang.IndexOutOfBoundsException:索引 0 超出长度 0 的范围”。谢谢你,任何提示都会非常感激。

标签: javaloopsdo-while

解决方案


您的整数列表为空。您无法访问空列表的索引:

public static boolean hasGreaterDoWhile(List<Integer> numbers, int number) {
    int d = 0;
    if (numbers.isEmpty()) return false;
    do {
        if (numbers.get(d) > number){
            return true;
        }
        d++;
    }
    while (d < numbers.size());
    return false;
}

推荐阅读