Predict the output when the following program segment is executed. Enter your re
ID: 3817324 • Letter: P
Question
Predict the output when the following program segment is executed.
Enter your result in the space provided.
int[ ][ ] arrayNums = new int[5][4];
arrayNums[0][0] = 40;
arrayNums[0][1] = 72;
arrayNums[0][2] = 37;
arrayNums[0][3] = 23;
arrayNums[1][0] = 20;
arrayNums[1][1] = 19;
arrayNums[1][2] = 76;
arrayNums[1][3] = 18;
arrayNums[2][0] = 50;
arrayNums[2][1] = 72;
arrayNums[2][2] = 31;
arrayNums[2][3] = 39;
arrayNums[3][0] = 43;
arrayNums[3][1] = 30;
arrayNums[3][2] = 88;
arrayNums[3][3] = 19;
arrayNums[4][0] = 40;
arrayNums[4][1] = 78;
arrayNums[4][2] = 56;
arrayNums[4][3] = 21;
int rows = 5;
int columns = 4;
int i, j, sum = 0;
for (i = 0; i < rows ; i++) { for (j = 0; j < columns ; j++)
{ System.out.print( arrayNums[i][j] + " " );
} sum += arrayNums[i][j];
System.out.println( "" ); }
//the output is: __________
Explanation / Answer
Output will be error:
40 72 37 23
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException:
---------------------------------------------------------------------------------------------------------------
for (i = 0; i < rows ; i++)
{
for (j = 0; j < columns ; j++)
{
System.out.print( arrayNums[i][j] + " " );
}
sum += arrayNums[i][j];
System.out.println( "" );
}
In the Above code where i have bloted, you are accessing the data of arrayNums where
i and j values will be
i == 0
j == 4
where you are accessing the values which is not in the scope of arrayNums
How this was occured>?
for (j = 0; j < columns ; j++)
{
System.out.print( arrayNums[i][j] + " " );
}
In the above statement you are looping j from 0 to 4 and printing the values, the condition fails when j is greater then 4 i.e (4 < 4)
in the next statement you are accessing the unknow value of arrayNums
arrayNums[0][4] which leads to an error.
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.