有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

    [这似乎是家庭作业,因此不会给出确切的代码。]

    对于良好的形式,考虑单独输入数组“EM”,然后< EEM>调用一个方法来获得所需的每个计算结果。

    对于“第二大”方法,您似乎没有初始化这两个值。确保处理数组中所有值都相同的(奇数)情况。也许您想将max和second to max设置为第一个数组值,然后在第二个数组循环到最后一个数组

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