我打算讓用戶輸入10個名稱並將其作爲數組。 然後我再讓用戶輸入他們想要搜索的名字,然後顯示搜索結果。 但是,當我搜索不在數組中的東西時,結果仍顯示出來。我的代碼有問題嗎?希望任何人都可以幫忙,謝謝。我的其他陳述不是有效的,但如果陳述是。 Java
import java.util.Scanner;
import java.util.*;
public class Main
{
static List<String> name = new ArrayList<String>();
public static void main (String[]args)
{
Scanner input=new Scanner(System.in);
Scanner input2=new Scanner(System.in);
int i;
String sname;
System.out.println("Please enter 10 student names.");
for(i=1;i<11;i++){
name.add(input.next());
}
System.out.println("Namelist is " + name);
String[] namearray = name.toArray(new String[0]);
System.out.println("Arraylist is "+ Arrays.toString(namearray));
System.out.println("Please enter the names that you want to search.");
sname=input2.nextLine();
search(namearray, sname);
}
public static void search(String[]namearray,String sname)
{
int i;
boolean check;
for(i = 0; i < namearray.length; i++){
if(namearray[i].equals(sname))
check=true;
else
check=false;
}
if(check=true){
System.out.println("Found Result: "+sname);
}
else if (check=false){
System.out.println("Not Found.");
}
}
}
謝謝。
'='是賦值,沒有比較。 (1)不要在布爾值時使用'== true',只要使用'if(check)',(2)不要檢查反轉,只需使用'else'。 – chrylis
@chrylis它的工作原理!非常感謝! –