java - java函数检查总和是偶数还是奇数,为什么我的代码不起作用?
问题描述
我的代码有问题,它没有导致任何错误,但没有给出结果。
我写了一个函数来检查数组的所有数字的总和是偶数还是奇数:
package tests;
public class Test {
public static String oddOrEven(int[] array) {
int X = 0;
String y;
int i;
for (i = 0; i <= array.length; i++) {
X += array[i]; // this is line 12
}
if (X % 2 == 0) {
y = "even";
} else {
y = "odd";
}
return y;
}
public static void main(String[] args) {
oddOrEven(new int[] {
4,
8,
9,
64,
21,
7
}); // this is line 25
}
}
我看到的异常:
请帮忙。
谢谢你
解决方案
将您的 for 语句更改为:
for (i = 0; i < array.length; i++) { //this line was wrong by you, use '<' instead of '<='
X += array[i];
}
您使用的是此运算符<=
而不是<
,因此当您达到数组 ( 6
) 的大小时,您正在尝试使用 index 检索数组元素6
,而 index5
是您的最高值。
推荐阅读
- r - 保存到.png时如何不丢失上标格式,R中的KableExtra
- python - Python,我如何将同一列 numpy 中的两个值相加并在该特定列 numpy 上迭代添加函数
- c - 为什么“比数据参数更多的 '%' 转换”错误消息输出一个大的负整数作为第一个数字?为什么是 0 的后记?
- java - 在Android 11(API30)下保存文件的正确方法(resp.文件夹)是什么?
- python - Python - 条件中的无效语法
- powershell - 在 Powershell 中创建可点击的文件夹链接
- python - 查找与数据框中所有可能的点组合的线交点
- sql - 修复表上的“无法将 NULL 插入”SQL 错误
- docker - 如何在 docker 容器中安装本地包?
- python - webdrivers 提示打开 cx_Freeze python exe 文件,如何隐藏?