Java自定义twoOrLess方法未返回预期结果问题求助
Java twoOrLess方法无返回结果排查方案
问题根因
- 核心问题:你在
main方法中仅定义了twoOrLess方法,没有主动调用该方法,自然不会触发方法执行、也拿不到返回结果。 - 潜在边界问题:如果传入的数组为
null或者数组长度小于2,现有代码逻辑不会报错但不符合预期,建议补充边界校验。
修复方案
1. 在main方法末尾添加方法调用逻辑
在main方法的数组初始化循环结束后,添加如下代码调用方法并打印返回值:
// 调用twoOrLess方法并接收返回结果 int methodResult = twoOrLess(sArr); System.out.println("twoOrLess执行结果为:" + methodResult);
2. 可选:补充twoOrLess的边界校验
在twoOrLess方法开头增加空值和长度校验,避免极端场景异常:
public static int twoOrLess(Singer [] s1Arr) { // 新增边界校验 if (s1Arr == null || s1Arr.length < 2) { return 0; } int sum = 0; for(int i = 0; i < s1Arr.length - 1; i++) { if(s1Arr[i].getGoldA() < s1Arr[i+1].getGoldA()) { sum = sum + 1; } } return sum >= 2 ? 1 : 0; }
内容的提问来源于stack exchange,提问作者Yonatan
相关产品推荐
相关产品推荐

