-1
임 .txt 파일에서 책 제목을 읽고 arraylist에 넣은 프로젝트에서 작업하면 arraylist가 배열로 변환됩니다. 사용자가 책 참조 번호 인 숫자를 입력하면 선형 검색 및 이진 검색을 사용하여 해당 책을 찾습니다. 바이너리 검색에 대한 코드에 문제가있는 것, 바이너리 검색에 대한 지식이있는 한, 이것이 내가 조립 한 것입니다. 따라서 바이너리 검색 코드에 어떤 문제가 있습니까? 다음은Java에서 이진 검색을 수행하는 방법?
int left = 0,right = bookList.length;
int int1;
int1 = Integer.parseInt(input);
while(left <= right){
int middle = (right + left)/2;
int compare = input.compareTo(bookList[middle].referenceNumber);
if(compare == 0){
Output2.setText("The book is " + bookList[middle].title);
} else if(compare < int1){
right = middle - 1;
left = 0;
if(compare == 0){
Output2.setText("The book is " + bookList[middle].title);
}
} else if(compare > int1){
right = bookList.length;
left = middle + 1;
if(compare == 0){
Output2.setText("The book is " + bookList[middle].title);
}
}
}
는
질문이 있습니까? –
본질적으로 동일한 질문을 두 번 다시 보내지 마십시오. 또한 게시하기 전에 디버거를 사용하여 코드를 추적하여 문제의 위치를 확인해야합니다. 디버깅 및 추적은 학습 과정의 중요한 부분이며 여기에서 질문하고 대답을 얻으면 많이 배웠을 것입니다. –