java - Java 中字符串的线性搜索

标签 java arrays linear-search

我正在编写一个代码,其中用户输入存储在数组中的十个字符串和一个搜索键。该代码必须根据搜索键运行线性搜索。到目前为止,这就是我所得到的:

import java.io.*;
class linstring
{

    String array[] = new String[10];
    String a = new String();
    public void linsearch(String string[], String search)
    {
        string = array;
        search = a;

        int i;
        int flag = 0;
        for(i = 0; i<10; i++)
        {
            if (search.equals(string[i]))
            {
                flag = 1;
                break;
            }

        }
        if (flag ==1)
        {
            System.out.println("Word found at position " +(i+1));
        }
        else
        {
            System.out.println("Word not found.");
        }
    }

    public static void main(String args[])throws IOException
    {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        linstring obj = new linstring();
        System.out.println("Enter any 10 words.");

        String enter [] = new String[10];
        int i;
        for (i = 0; i<10; i++)
        {

            enter[i] = br.readLine();

        }
        System.out.println("Enter word to be searched.");
        String search1 = br.readLine();
        obj.linsearch(enter, search1);
    }
}

未发现编译错误和运行时错误。然而,这存在着巨大的逻辑错误。当我搜索数组中存在的元素时,它表示搜索不成功。我该如何解决这个问题?

最佳答案

删除这些行:

string = array;
search = a;

编辑:这两行设置 string 的引用到一个空字符串数组( array )和 search 的引用为空字符串( a )。这意味着stringsearch现在内容与 array 相同和a ,它是空的。

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

相关文章:

java - 奇数舍入逻辑

java - 如何以编程方式关闭 eclipse rcp 4 mwindow

arrays - 在此过程中创建包含 UIBezierPath 和 NSArray x Array 的 CGRect

python - 无需线性扫描即可从json数据中获取id

java - 线性搜索多个整数

java - 如何从java打印excel文件?

java - 基于终端的 IDE

javascript - 在Javascript中添加到对象时,如何使显示为数组的字符串返回数组

javascript - 交换数组中的两个值

C++线性搜索算法,判断数组元素个数