java - 如何使用“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 的范围”。谢谢你,任何提示都会非常感激。
解决方案
您的整数列表为空。您无法访问空列表的索引:
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;
}
推荐阅读
- c# - 如何使用 Angular 5 和 asp.net 核心从 Angular 向端点发送电子邮件
- c# - 通过字符串 delim 将 5k 多个对象发送到 SQL PROC 参数,然后对 Query 中的每个对象进行拆分、解析和循环
- matlab - 我可以保存 RandStream 并在以后加载它以继续模拟吗?
- python - 无法使用 PIL 保存图像
- python - Django 渲染有一个意外的关键字参数“context_instance”
- google-apps-script - 当执行中的“终止”选项不起作用时,如何停止不断运行的脚本?
- vue.js - 使用服务工作者在 vue-cli 中为“推送”添加事件监听器
- python-3.x - 读取多个excel文件并对其应用清理过程
- r - 堆积柱形图出现而不是使用ggplot闪避
- python - 使用 smtp 从列表发送邮件