Java中字符串的线性搜索
我正在编写一个代码,其中用户输入存储在数组中的十个字符串和一个搜索键。代码必须基于搜索键运行线性搜索。到目前为止,我得到的是:Java中字符串的线性搜索,java,arrays,linear-search,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 = ar
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);
}
}
import java.io.*;
类字符串
{
字符串数组[]=新字符串[10];
字符串a=新字符串();
公共void linsearch(字符串[],字符串搜索)
{
字符串=数组;
搜索=a;
int i;
int标志=0;
对于(i=0;i删除这些行:
string = array;
search = a;
编辑:这两行将string
的引用设置为空字符串数组(array
),将search
的引用设置为空字符串(a
)。这意味着字符串
和搜索
现在具有与数组
和a
相同的内容,该内容为空。检查以下行:
string=array;
应该是相反的。我意识到他们什么也没做。我删除了他们,现在一切正常。谢谢!我在9分钟内将此标记为答案。@codefoodgirl_99是的,他们做了一些事情(这就是为什么你的搜索不起作用)。哦。我知道他们做了什么。我删除了他们。谢谢!除非这是一个家庭作业,否则我建议你忘记原始数组,改用HashMap/HashSet。更快,更少的代码,更少的bug。我明白了。好的,我一定会尝试使用HashMap。谢谢!