相对较新的java。我试图按顺序搜索字符串数组,但我很确定我的if语句有问题,因为布尔标志保持为假。代码使用了int数组,所以我不明白这个代码有什么问题。
public static void sequentialNameSearch(String[] array) {
// sequential name search
Scanner input = new Scanner(System.in);
String value;
int index = 0;
boolean flag = false;
System.out.println("\nPlease enter a name to search for");
value = input.next();
while (flag == false && index < array.length - 1) {
if (array[index] == value) {
flag = true;
System.out.println(array[index] + " is number "
+ (index + 1) + " in the array.");
}
else if (index == array.length - 1)
System.out.println("That name is not in the array");
index++;
}
input.close();
}
答案 0 :(得分:1)
错误的是,您无法将两个字符串的内容与==进行比较。 为此,您应该使用其中一个字符串的equals()或equalsIgnoreCase()方法。例如:
if (array[index].equals(value)) {