Consider the following code segment. int[][] arr = {{3, 2, 1}, {4, 3, 5}}; for (int row = 0; row < arr.length; row++) { for (int col = 0; col < arr[row].length; col++) { if (col > 0) { if (arr[row][col] >= arr[row][col - 1]) { System.out.println("Condition one"); } } if (arr[row][col] % 2 == 0) { System.out.println("Condition two"); } } } As a result of executing the code segment, how many times are "Condition one" and "Condition two" printed?

Respuesta :

Answer:

Condition one - 1 time

Condition two - 2 times

Explanation:

Given

The above code segment

Required

Determine the number of times each print statement is executed

For condition one:

The if condition required to print the statement is:  if (arr[row][col] >= arr[row][col - 1])

For the given data array, this condition is true only once, when

[tex]row = 1[/tex]  and  [tex]col = 2[/tex]

i.e.

if(arr[row][col] >= arr[row][col - 1])

=> arr[1][2] >= arr[1][2 - 1]

=> arr[1][2] >= arr[1][1]

=> 5 >= 3 ---- True

The statement is false for other elements of the array

Hence, Condition one is printed once

For condition two:

The if condition required to print the statement is:  if (arr[row][col] % 2 == 0)

The condition checks if the array element is divisible by 2.

For the given data array, this condition is true only two times, when

[tex]row = 0[/tex]  and  [tex]col = 1[/tex]

[tex]row = 1[/tex]  and  [tex]col = 0[/tex]

i.e.

if (arr[row][col] % 2 == 0)

When [tex]row = 0[/tex]  and  [tex]col = 1[/tex]

=>arr[0][1] % 2 == 0

=>2 % 2 == 0 --- True

When [tex]row = 1[/tex]  and  [tex]col = 0[/tex]

=>arr[1][0] % 2 == 0

=> 4 % 2 == 0 --- True

The statement is false for other elements of the array

Hence, Condition two is printed twice