为了账号安全,请及时绑定邮箱和手机立即绑定

在 JAVA 中搜索字符串数组中的元素?

在 JAVA 中搜索字符串数组中的元素?

神不在的星期二 2021-08-25 15:25:52
我制作了一个 JAVA 程序,在其中初始化了一个1-D String array。我已经使用for循环来搜索任何输入的字符串,如果它存在于数组(扫描仪类)中。这是源代码:-import java.util.*;class search{    public static void main(String args[])    {        Scanner sc=new Scanner(System.in);        System.out.println("Enter the name to search :-");        String s=sc.nextLine();        String array[]={"Roger","John","Ford","Randy","Bacon","Francis"};        int flag=0,i;        for(i=0;i<6;i++)        {            if(s==array[i])            {                flag=1;                break;            }        }        if(flag==1)        System.out.println("The name "+s+" Exists");        else        System.out.println("The name "+s+" does not Exists");    }}该类甚至可以成功编译,但是当我输入一个有效的字符串(比如 Roger)时,输出是The name Roger does not Exists。请帮我解决这个问题,对此我将不胜感激。
查看完整描述

1 回答

?
精慕HU

TA贡献1845条经验 获得超8个赞

你混淆了 == 和 equals 因为 String 是一个对象 == 只检查引用是否相同而不是实际内容你应该使用 String.equals() 代替


改变你的 if 条件


 for(i=0;i<6;i++)

        {

            if(s.equals(array[i]))

            {

                flag=1;

                break;

            }

        }


查看完整回答
反对 回复 2021-08-25
  • 1 回答
  • 0 关注
  • 291 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信