Java 在数组中添加所有奇数无法正常工作

Java 在数组中添加所有奇数无法正常工作,java,arrays,Java,Arrays,我将创建一个数组,该数组接受来自用户的10个整数,找到第二大值,最后将所有奇数相加。如果我使用10-1作为输入,它将正确地执行所有操作;当输入的第一个数字是奇数时,问题就出现了,它在求和时会忽略它,我不知道为什么。有什么想法吗 for (int j = 0; j < 10; j++) { arra[j] = keyboard.nextInt(); if (arra[j] > maxValue) { secondLargest = maxValue;

我将创建一个数组,该数组接受来自用户的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);
for(int j=0;j<10;j++){
arra[j]=keyboard.nextInt();
if(arra[j]>maxValue){
第二大=最大值;
maxValue=arra[j];
}else if(arra[j]>第二大){
第二大=阿拉[j];
}
}
System.out.println(“第二大数字为:“+secondmagnet”);
for(int i=0;i
[这似乎是家庭作业,因此不会给出确切的代码。]

对于良好的形式,考虑单独获取输入数组,然后调用一个方法来获得所需的每个计算结果。 对于“第二大”方法,您似乎没有初始化这两个值。确保处理数组中所有值都相同的(奇数)情况。也许您想将max和second to max设置为第一个数组值,然后在第二个数组中循环到末尾


要添加所有奇数,请创建一个方法,将初始和设置为零,然后仅在奇数时添加一个数(
n%2!=0

可能的逻辑错误:
i%2==0
意味着
i
是偶数,而不是奇数。您是否使用调试器进行了调试?不,我甚至不知道java调试器。你能提供一个链接吗?
(inti=1;i
为什么从1开始?啊,谢谢,蓝色,我一定是打错了。这解决了我的问题。你应该回答得低一点,这样我才能选择你作为正确答案