What is the output/outcome produced by this code segment? Pay attention to pre/p
ID: 3909771 • Letter: W
Question
What is the output/outcome produced by this code segment? Pay attention to pre/post ++
Assume input.txt has one line 3 5 7 9 11 13
Scanner infile = new Scanner (new file ( "input.txt" ) );
int [] arr = new int [10];
int count = 0;
while (infile.hasNextint () )
arr [++count] = infile.nextint ();
for ( int i=0; i<count; ++i)
System.out.print (arr[i] + " " );
the output will be = 0 3 5 7 9 11
Can you help me through the thought process to arrive at this output? Please be as detailed as possible. Note I have provided the output and mostly need an explantion
Explanation / Answer
Array indexing start at 0
in while loop while (infile.hasNextint () )
there is a pre increment of the variable count which is zero initially
SO when arr[++count] is executed it first increaments the count , which becomes 1 , then assign the array value at position 1 to the starting value read from the file which is 3
for second iteration
arr[2] = 5
for third iteration
arr[3]= 7
for fourth iteration
arr[4] = 9
for fifth iteration
arr[5] = 11
for sixth iteration
arr[6]=13;
now count is 6 after 6th iteration
Next line is for loop which loops from i =0 to i less than 6
since array element at position 0 (array indext starts from zero) is not assigned any values read from file as array values assigned from position one in while loop (because there is preincrement of the value count)
Values are printed from postion 0 to 5th position as loop will exit when i becomes 6 ,, hence value at position 6 is not displayed which is 13 at index 6
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.