+ 1
2 loops + array
Could sb explain to me why the following code's output is 240 and 480, instead of 2x 240? public class Program { public static void main(String[] args) { int[ ] arr = {14, 25, 67, 89, 45}; int sum = 0; for(int x = 0; x < arr.length; x++) { sum += arr[x]; } System.out.println(sum); // or for(int x: arr) { sum += x; } System.out.println(sum); } }
3 ответов
+ 4
Because after the first part of the code sum = 240... Then the second part adds 240 again and you end up with 480... If you want 240 twice make sure to do sum = 0 before the second loop
+ 3
You declared int sum = 0; outside the block of both for loops. Then, calculated the sum using two for loops, one conventional and the other enhanced. Right?
After the execution of first for loop, you got your sum variable as 240, and then, running the second for loop, you added 240 once again in the same sum variable!
That's what you got as output ;)
+ 1
Ok, thank's :)