java在数组中添加所有奇数无法正常工作
我将创建一个数组,该数组接受来自用户的10个整数,找到第二大值,最后将所有奇数相加。如果我使用10-1作为输入,它将正确地执行所有操作;当输入的第一个数字是奇数时,问题就出现了,它在求和时会忽略它,我不知道为什么。有什么想法吗
for (int j = 0; j < 10; j++) {
arra[j] = keyboard.nextInt();
if (arra[j] > maxValue) {
secondLargest = maxValue;
maxValue = arra[j];
} else if (arra[j] > secondLargest) {
secondLargest = arra[j];
}
}
System.out.println("The second largest number is: " + secondLargest);
for (int i = 0; i < arra.length; i++) {
if (i % 2 == 0) {
numberOdds++;
}
}
int[] odds = new int[numberOdds];
for (int i = 1; i < arra.length; i++) {
if (arra[i] % 2 == 1) {
odds[count] = arra[i];
count++;
}
}
for (int i = 0; i < odds.length; i++) {
sum = sum + odds[i];
}
System.out.println("The sum of all odd numbers is: " + sum);
# 1 楼答案
[这似乎是家庭作业,因此不会给出确切的代码。]
对于良好的形式,考虑单独输入数组“EM”,然后< EEM>调用一个方法来获得所需的每个计算结果。
对于“第二大”方法,您似乎没有初始化这两个值。确保处理数组中所有值都相同的(奇数)情况。也许您想将max和second to max设置为第一个数组值,然后在第二个数组循环到最后一个数组
要添加所有奇数,请创建一个方法,将初始和设置为零,然后仅在奇数时添加一个数(
n % 2 != 0
)