下面我尝试创建一个方法,该方法在数组中搜索某个字符串并返回它的位置,如果不存在则返回的数字应该是-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;
}
最佳答案
我看不出代码有什么问题,但我建议消除保存返回值的局部变量:
public static int Search(String[] thewords, String answer) {
for (int i = 0; i < thewords.length; i++) {
if (answer.equals(thewords[i])){
return i;
}
}
return -1;
}
通过这种简化的逻辑,此代码中出现错误的可能性很小或根本没有。
<小时/>我认为这是类(class)作业,并且不允许您使用库方法。如果允许,您的方法可以是一行:
return Arrays.asList(theWords).indexOf(answer);
关于java - 在数组中搜索字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16061849/