java - 字符串数组的线性搜索

标签 java arrays string linear-search

所以我的代码中没有错误,但由于某种原因,无论数组是否包含它,我的搜索都会返回真实结果

public static void linSrch(String[] names) {
    Scanner inputDevice = new Scanner(System. in );
    System.out.println("Please enter search");
    String search;
    search = inputDevice.nextLine();
    boolean searchReturn;
    for (int index = 0; index < names.length - 1; index++) {
        if (names[index] == search) {
            searchReturn = true;
        }
    }
    if (searchReturn = true) {
        System.out.println(search + " is found in the array.");
    } else {
        System.out.println(search + " not found in the array");
    }
}

最佳答案

以下代码

if (searchReturn = true) 

只会将 searchReturn 指定为 true 并执行其中的代码。

您应该将其更改为

,而不是此代码
if (searchReturn)

每当 searchReturn 为 true 时就会运行

还可以使用 equals 方法而不是 == 来比较字符串

关于java - 字符串数组的线性搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33726675/

相关文章:

javascript - JavaScript 二维数组中的算法

string - Python 将字符串列表转换为列表

JavaFX - 如何从 AnchorPane 中删除特定节点

java - 我可以使用 volley 进行同步请求吗?

javascript - AngularJS - 多维数组的自定义过滤器

string - 使用 find 在 bash 中操作字符串(文件扩展名)

c# - 检查字符串是否包含数值

java - Tomcat jdbc 池不工作

java - Spring:@PropertySource 的编程等价物是什么

arrays - 如何在C中访问数组