Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中的顺序字符串搜索_Java_String_Search_Sequential - Fatal编程技术网

Java中的顺序字符串搜索

Java中的顺序字符串搜索,java,string,search,sequential,Java,String,Search,Sequential,您好,堆栈溢出。。呃,, 我已经创建了这段代码,以便在数组中顺序搜索以找到一个值,在本例中是一个名称。但是我无法让它工作,它找不到我输入的名称,并且总是返回-1的值 当我将所有类型都改为INT并对age数组进行搜索时,它成功了,所以它可能与字符串类型有关?有人能帮我吗 公共静态void main(字符串[]args){ String[]name={“John”、“bert”、“Elle”、“beth”}; 字符串[]性别={“男”、“男”、“女”、“女”}; int[]年龄={18,25,22,

您好,堆栈溢出。。呃,, 我已经创建了这段代码,以便在数组中顺序搜索以找到一个值,在本例中是一个名称。但是我无法让它工作,它找不到我输入的名称,并且总是返回-1的值

当我将所有类型都改为INT并对age数组进行搜索时,它成功了,所以它可能与字符串类型有关?有人能帮我吗

公共静态void main(字符串[]args){

String[]name={“John”、“bert”、“Elle”、“beth”};
字符串[]性别={“男”、“男”、“女”、“女”};
int[]年龄={18,25,22,36};
int-found;
扫描仪键盘=新扫描仪(System.in);
System.out.println(“输入要搜索的名称:”);
String searchName=keyboard.next();
found=搜索名称(名称,搜索名称);
如果(找到==-1)
System.out.println(“错误,未找到:+found”);
其他的
System.out.println(“查找位置:“+Found”);
}
私有静态int searchName(字符串[]名称,字符串searchName){
int i=0,foundAt=-1;
布尔值=false;
而(!found&&i
这将很快关闭,但请使用
.equals()
比较字符串。

尝试替换这部分代码

while (!found && i < name.length)
{
    if (name[i] == searchName)
    {
        found = true;
        foundAt = i;
    }
    i++;
}
while(!found&&i


for(inti=0;也就是说,您需要执行
name[i].equals(searchName)
while (!found && i < name.length)
{
    if (name[i] == searchName)
    {
        found = true;
        foundAt = i;
    }
    i++;
}
for(int i=0; i<name.length; i++)
{
    if(name[i].equalsIgnoreCase(searchName))
    {
        found = true;
        foundAt = i;
        break;
    }
}