нужно объяснение об ответе на этот цикл - PullRequest
0 голосов
/ 28 марта 2019

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);

могу я объяснить, пожалуйста спасибо:)

Ответы [ 2 ]

3 голосов
/ 28 марта 2019

Я отлаживаю это для тебя!

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

2 голосов
/ 28 марта 2019

Если вы напишите этот фрагмент в начале цикла 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...