我制作了一個 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
提交
取消