我制作了一个 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;
}
}
添加回答
举报
0/150
提交
取消