java - 程序不断说缺少退货声明
问题描述
我的程序应该传递 2 个数组列表、到达和持续时间,并且应该返回基本上可以不重叠地发生的事件的数量。我做的最后一件事是添加最后的 else if 语句以将最后一次到达视为可能发生的事件。但是,尽管有返回语句,但我的代码不断给出无返回语句错误。
class Results {
public static int maxEvents(List<Integer> arrival,List<Integer> duration) {
int counter = 0;
for (int i = 0; i < arrival.size(); i++) {
if (arrival.get(i) + duration.get(i) <= arrival.get(i+1)) {
counter++;
} else if (arrival.get(i)==arrival.get(i+1)) {
counter++;
i++;
} else if (i == arrival.size()-1) {
counter++;
}
return counter;
}
}
}
解决方案
您编写的 return 语句位于不正确的 for 循环中。请按照以下代码
class Results {
public static int maxEvents(List<Integer> arrival,List<Integer> duration) {
int counter = 0;
for (int i = 0; i < arrival.size(); i++) {
if (arrival.get(i) + duration.get(i) <= arrival.get(i+1)) {
counter++;
} else if (arrival.get(i)==arrival.get(i+1)) {
counter++;
i++;
} else if (i == arrival.size()-1) {
counter++;
}
}
return counter;
}
}
推荐阅读
- laravel - Laravel:使用自动填充 created_at 和 updated_at 插入多条记录
- angular - 角 URL HTTP 请求
- python - 函数可以直接在python中的字典中执行,而不是只在字典中调用函数吗?
- ios - 如何在 SwiftUI 中以交互方式按年份过滤日期列表
- ios - pdf文件未使用目标c显示ios中uiwebview中的所有页面
- c# - C# 存储库模式?复杂的查询仍然放在存储库中?
- vue.js - 在 Vuetify.js 插件中使用 vuex 状态
- system-verilog - 如何使随机重做直到得到我想要的数字?
- spring-boot - 在 Spring Boot 2.3 中找不到 javax.validation
- node.js - Mongoose findOne 查询未定义的值(数据库中不存在)。我正在使用 MERN 进行 Instagram 克隆