【发布时间】:2015-11-16 00:06:41
【问题描述】:
所以我的代码没有错误,但由于某种原因,无论数组是否包含它,我的搜索都会返回真实结果
public static void linSrch(String[] names) {
Scanner inputDevice = new Scanner(System. in );
System.out.println("Please enter search");
String search;
search = inputDevice.nextLine();
boolean searchReturn;
for (int index = 0; index < names.length - 1; index++) {
if (names[index] == search) {
searchReturn = true;
}
}
if (searchReturn = true) {
System.out.println(search + " is found in the array.");
} else {
System.out.println(search + " not found in the array");
}
}
【问题讨论】:
-
要比较两个字符串是否相等,请使用
names[index].equals(search)而不是使用== -
另外,
if (searchReturn = true) {不检查是searchReturn是true。它分配值true给变量searchReturn。你想要的只是if (searchReturn) { ...
标签: java arrays string linear-search