我是java的初学者。
为什么总是显示未找到?
如何在数组上找到一个未找到的字符串值?
String[] array = new String[10];
String b = "5";
for (int i = 0; i < 10; i++) {
String in = String.valueOf(i);
array[i] = in;
}
for (int i = 0; i < 10; i++) {
if (b.equals(array[i])) {
System.out.println("found " + array[i]);
} else if (!b.equals(array[i])) {
System.out.println("not found");
System.exit(0);
}
}
}
答案 0 :(得分:2)
当您致电for
时,您的第二个i = 0
循环终止于System.exit(0);
(当您致电时,该程序实际上会终止。)
} else if (!b.equals(array[i])) {
System.out.println("not found");
System.exit(0);
}
建议在找到匹配项后将逻辑更改为从循环中断。
for (int i = 0; i < 10; i++) {
if (b.equals(array[i])) {
System.out.println("found " + array[i]);
break;
}
}
答案 1 :(得分:0)
好的,我已经弄清楚了。
感谢您的建议。
只需在循环外部制作“not found”语句。
String[] array = new String[10];
String b = "10";
boolean c = false;
for (int i = 0; i < 10; i++) {
String in = String.valueOf(i);
array[i] = in;
}
for (int i = 0; i < 10; i++) {
if (b.equals(array[i])) {
System.out.println("found " + array[i]);
} else if (!b.equals(array[i])) {
c = true;
}
}
if (c == true){
System.out.println("not found");
}
}