-1

所以我的代码应该在字符串数组中搜索名称。所以“mit”会找到“Smith”,我快到了,但我的方法存在问题。在for搜索名称的循环中,有一个错误告诉我我需要一个布尔值并且我正在使用一个字符串。有人知道怎么修这个东西吗?

public static void Search(String[] arr, String find) {
    for (int i = 0; i < 10; i++) {
        if (arr[i].toLowerCase()).contains(find.toLowerCase()) {
             System.out.println(String.format("found name: %s", arr[i]));
             return;
        }
    }
    System.out.println("Name not found!");
}

错误在if声明中。

4

2 回答 2

3

看这个:

if (arr[i].toLowerCase()).contains(find.toLowerCase())

计算括号...您在if第一个之后立即关闭条件toLowerCase(),而不是contains在通话后关闭它。你要:

if (arr[i].toLowerCase().contains(find.toLowerCase()))
于 2012-10-25T22:44:46.043 回答
0

像这样做:

if ( arr[i].toLowerCase().contains(find.toLowerCase()))

你关闭括号太早了,所以如果你有一个字符串而不是布尔值。

于 2012-10-25T22:46:46.900 回答