【发布时间】:2023-04-07 22:41:01
【问题描述】:
public class array {
public static void main(String[] args) {
String names[] = {"John", "Mary", "Peter"};
Scanner myScanner = new Scanner(System.in);
System.out.print("Enter name: ");
String nameEntered = myScanner.nextLine();
for (int i = 0; i <= names.length; i++) {
if (nameEntered.equals(names[i])) {
System.out.println(names[i] + " is a common name.");
} else {
System.out.println(nameEntered + " is not a common name.");
}
}
}
}
如何让 else 语句只打印一次?如果我这样做,它的输出是 nameEntered +“它不是一个通用名称。”三次。不能断;对,因为当满足 if 语句时它会打印一些奇怪的东西。如果我使用 continue ,它将检查所有三个,如果我输入 Mary ,输出将类似于“Mary is not a common name” “Mary is a common name” “Mary is not a common name”
【问题讨论】:
-
使用名为
found的逻辑(布尔)变量,将其初始化为false。在循环中不打印任何内容,仅在名称匹配时设置found(之后您可以break)。根据found,在循环之后执行每次打印 -
但是如何打印出与我输入的字符串匹配的 found = true 语句?
-
找到匹配项时只需
break。
标签: java arrays for-loop if-statement