Iam Learning Java, и я не могу понять, почему в приведенном выше коде ответ 20:
int arrays[]={1,2,3,4,5}; int x = 4; int y = 0; for(int i=0; i < 5; i++){ y+=arrays[x-i]*i; } System.out.println(y);
могу я объяснить, пожалуйста спасибо:)
Я отлаживаю это для тебя!
y = y + [4-0] ~ 5 * 0 => 0
0 = 0 + [4-1] ~ 4 * 1 => 4
4 = 4 + [4-2] ~ 3 * 2 => 10
10 = 10 + [4-3] ~ 2 * 3 => 16
16 = 16 + [4-4] ~ 1 * 4 => 20
Если вы напишите этот фрагмент в начале цикла for
System.out.println("y=" + y + "+" + arrays[x-i] + "*" + i + " => " + (y + arrays[x-i] * i));
... вы получите этот вывод:
y=0+5*0 => 0 y=0+4*1 => 4 y=4+3*2 => 10 y=10+2*3 => 16 y=16+1*4 => 20