아래 특정 문자열에 대한 배열을 검색하여 그 위치를 반환하는 메서드를 만들려고합니다. 그렇지 않으면 -1이 반환되는 숫자 여야합니다. 아래에서는 메서드를 사용하여 단어를 검색하고 단어가 배열 내에 있더라도 -1을 반환합니다. 왜 이런거야?배열 내의 문자열 검색
String answer = "";
System.out.println("Enter word to search within array");
answer = in.next();
public static int search(String[] theWords, String answer) {
int a = -1;
for(int i = 0; i < theWords.length; i++) {
if (answer.equals(theWords[i])){
a = i;
break;
}
}
return a;
}
당신은 선택적 방법의 소비자 원하지 않는 수 있습니다 정렬하기 때문에 배열의 복사본을 만들 수 있습니다
if 조건에서 직접'a '를 반환 할 수 있습니다. – Srinivas
한가지 :'Arrays.asList (theWords) .indexOf (answer)'는 당신의 친구입니다. 다른 경우에는 이것이 실패 할 때의 완전한 예를 보여 주어야합니다. 내게는 괜찮은 것처럼 보이지만 (코드는 작성하지 않고 작동해야합니다.) 문제를 재현하는 데 도움을 주어야합니다. –
내 추측은 아마도 '대답'이고 'theWords [i]'는 다른 경우 일 것입니다. 'answer.equalsIgnorecase (theWords [i])'시도 했습니까 ?? – PermGenError