0
Need your help ASAP! [Java]
When I run my code, instead of getting the sum of odd nums, I get sum of even nums. What am i writing wrong in my code? Please, help me! public class Main { public static void main(String[] args) { int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int even = 0, odd = 0; for (int i = 0; i <= arr.length; i++) { if (i % 2 == 0) even += arr[i]; else odd += arr[i]; } System.out.println("Sum of odd nums:" + odd); } }
6 Réponses
+ 6
Change these two lines-
1) for (int i = 0; i < arr.length; i++) // <= will give ArrayIndexOutOfBoundException
2) if (arr[i] % 2 == 0)
+ 4
you need to write arr[i] % 2 instead of i % 2. In the code above you were checking whether the indexes were ever or odd, not the actual elements.
+ 2
Shouldn't 25 be the answer?
1+3+5+7+9=25 and you are getting that so what do you think is wrong?
+ 1
Thank you both @Airree and @Avinesh <3
I changed my code and it looks like this, but still i get the same result. I'm so newbie and can't even guess what am I doing wrong.
public class Main {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int even = 0, odd = 0;
for (int i = 0; i < arr.length; i++) {
if (arr[i] % 2 == 0)
even += arr[i];
else
odd += arr[i];
}
System.out.println("Sum of odd nums:" + odd);
}
}
0
I'm getting 30 :( I'd have no prob if i get 25:/
0
It returns 25, I ran my code in a new window. Thanks guys <3 Good luck!