Я только начинаю с Java и задаю довольно глупый вопрос о линейном поиске в массиве. Почему необходимо указывать !found
, а не только found
в условии while l oop? Я немного запутался, потому что, по моему мнению, while l oop должен выполняться, когда мы не нашли цель, а индекс меньше длины массива, поэтому вместо этого он должен быть while((found)&&(index<myArray.length))
?
public class LinearSearch {
public static void main(String[] args) {
// TODO Auto-generated method stub
int target = 2;
boolean found = false;
int index = 0;
int indexOfTarget = -1;
int [] myArray = {18,38,2,20,24,14,5};
while ((!found)&&(index<myArray.length)) {
if (myArray[index]==target) {
indexOfTarget=index;
found = true;
}
index++;
}
if(found) System.out.println("Found element at position "+indexOfTarget);
else System.out.println("Target not found");
}
}