12,077,753 members (47,880 online)
Rate this:
See more:
when i trace the code im getting 1,3,5,7 for the answer but the compiler prints 1,3,6,10
im having trouble understanding how this happens could anyone explain

int [] a= new int[5];  // create array
for (int i =1; i<=4; i++)
{
a[i]=a[i-1]+i;
System.out.print(a[i]+" ");
}
Posted 10-Nov-12 13:32pm
Edited 10-Nov-12 14:23pm
TorstenH.34.8K
v2
Nelek 10-Nov-12 18:44pm

What I can not understand is where you get 1,3,5,7. The result of this code is what the compiler prints.

Rate this:

## Solution 1

when i trace the code

You debug it. While debugging you figure several operations in one line:

for (int i =1; i<=4; i++)
{
a[i]=a[i-1]+i;
System.out.print(a[i]+" ");
}

should be

for (int i =1; i<=4; i++)
{
int iNumber = a[i-1]; // get number of previous field
iNumber += i; // add counter
a[i]=iNumber; // place result
System.out.print(a[i]+" ");
}

This way you can figure every step and see that the output if this is "1 3 6 10".

5ed.
--SA

Top Experts
Last 24hrsThis month
 Richard MacCutchan 365 Richard Deeming 305 Sergey Alexandrovich Kryukov 248 CHill60 200 OriginalGriff 195
 OriginalGriff 2,965 Dave Kreskowiak 2,836 Richard MacCutchan 2,249 CPallini 1,632 Sergey Alexandrovich Kryukov 1,445