Java를 사용하여 순차 검색을 구현 중입니다. 문자열 배열에서 문자열을 검색하려고합니다. 쿼리는 nextLine()
을 사용하여 키보드에서 가져옵니다. 그러나 문자열이 명확하게 목록에있는 경우에도 항상 "발견되지 않음"을 얻습니다.Scanner.nextLine()을 사용하여 입력 (키보드)에서 읽기
/**
Implementing sequential search
*/
public class SequentialSearch {
public static boolean sequentialSearch(String[] names, String query) { //static method takes a string array and the query as arguments
for (String x: names) //traverse the list
if (x == query) {
System.out.println("found");
return true;
} //end if
System.out.println("not found"); //end for
return false;
} //end method
} //end class
class TestSequentialSearch {
public static void main (String[] args) {
String[] names = {"John", "Amy", "Tom", "Jay", "Olivia", "Jack", "Peter", "Emma"}; //a new name list
Scanner in = new Scanner(System.in);
String x;
System.out.println(Arrays.toString(names));
System.out.println("name to be searched: ");
while (in.hasNextLine()) {
x = in.nextLine();
SequentialSearch.sequentialSearch(names, x); //search input in the list
System.out.println("name to be searched: ");
} //end while
} //end main
} //end test
고맙습니다. 그것은 효과가있다! – user2487232
@ user2487232 알아두면 좋을 것 같습니다. 내 대답에 왼쪽 눈금을 클릭하여 답을 수락 할 수 있습니까? –