72,807 views
12 votes
12 votes
Consider the following incomplete method. Method findNext is intended to return the index of the first occurrence of the value val beyond the position start in array arr. I returns index of first occurrence of val in arr /! after position start; // returns arr.length if val is not found public int findNext (int[] arr, int val, int start) int pos = start + 1; while condition '/ ) pos++ return pos; For example, consider the following code segment. int [ ] arr {11, 22, 100, 33, 100, 11, 44, 100); System.out.println(findNext (arr, 100, 2)) The execution of the code segment should result in the value 4 being printed Which of the following expressions could be used to replace /* condition */ so that findNext will work as intended?

(A) (posarr.length) &&(arr [pos]- val)
(B) (arr [pos] != val) && (pos < arr. Îength)
(C) (pos (D) (arr [pos} == val) && (pos < arr. length)
(E) (pos

User Jyap
by
2.4k points

1 Answer

10 votes
10 votes

Answer:

B)

Step-by-step explanation:

The while loop runs as long as two conditions are satisfied, as indicated by the && logical operator.

The first condition- arr[pos] != val

checks to see if the value in the array index, pos, is equal to the given value and while it is not equal to it, the second condition is checked.

The second condition(pos < are.length), checks to see if the index(pos) is less than the length of the array. If both conditions are true, the program execution enters the while loop.

The while loop is only terminated once arr[pos] == Val or pos == arr.length.

User Gurubelli
by
2.9k points