Java &引用;名称不为';“t匹配”;打印,但在这里打印5次
当我键入数组列表中不存在的内容时,“名称不匹配”会打印5次。我只想打印一次Java &引用;名称不为';“t匹配”;打印,但在这里打印5次,java,arrays,loops,if-statement,printing,Java,Arrays,Loops,If Statement,Printing,当我键入数组列表中不存在的内容时,“名称不匹配”会打印5次。我只想打印一次 哪行代码使“名称不匹配”打印5次 如何只打印一次“名称不匹配” 更改代码以设置布尔值,并在循环后对其求值 此外,您可以在找到循环后立即中断循环 boolean found = false; for(int i = 0; i < names.length; i++){ if(name.equals(names[i])) { System.out.println(numbers[i]);
更改代码以设置布尔值,并在循环后对其求值 此外,您可以在找到循环后立即中断循环
boolean found = false;
for(int i = 0; i < names.length; i++){
if(name.equals(names[i])) {
System.out.println(numbers[i]);
found = true;
break;
}
}
if (!found){
System.out.println("Names Doesn't Match!");
}
boolean-found=false;
for(int i=0;i
for(int i=0;i
正在使您的代码将字符串打印5次。它会这样做,因为您正在迭代名称
数组的所有5个元素
我建议,如果您希望打印一次,可以将其放入函数中,并在返回时返回匹配的结果“名称不匹配!
哪行代码使“名称不匹配”打印5次
我认为对于这个问题最好使用
Map
:
public static void main(String... args) {
Map<String, Integer> nameNumber = Map.of(
"Meisam", 123456,
"Raju", 654321,
"Sasi", 345678,
"Aju", 953456,
"Ram", 123445);
nameNumber.keySet().forEach(System.out::println);
System.out.print("Please Enter a Name: ");
String name = new Scanner(System.in).next();
Integer number = nameNumber.get(name);
System.out.println(number == null ? "Names Doesn't Match!" : number);
}
publicstaticvoidmain(字符串…参数){
映射名称编号=Map.of(
“Meisam”,123456,
“Raju”,654321,
“Sasi”,345678,
“阿朱”,953456,
“Ram”,123445);
nameNumber.keySet().forEach(System.out::println);
System.out.print(“请输入名称:”);
字符串名称=新扫描仪(System.in).next();
整数=nameNumber.get(name);
System.out.println(number==null?“名称不匹配!”:number);
}
删除for循环中的其他部分
添加System.exit(0);在for循环中if块内部的最后一行
在for循环之后添加System.out.println(“名称不匹配!”)
boolean found = false;
for(int i = 0; i < names.length; i++){
if(name.equals(names[i])) {
System.out.println(numbers[i]);
found = true;
break;
}
}
if (!found){
System.out.println("Names Doesn't Match!");
}
for(int i = 0; i < names.length; i++) {
// ...
}
int j = -1; // j == -1 -> means NOT_FOUND
for (int i = 0; i < name.length(); i++) {
if (name.equals(names[i])) {
j = i;
break;
}
}
System.out.println(j == -1 ? "Names Doesn't Match!" : numbers[j]);
public static void main(String... args) {
Map<String, Integer> nameNumber = Map.of(
"Meisam", 123456,
"Raju", 654321,
"Sasi", 345678,
"Aju", 953456,
"Ram", 123445);
nameNumber.keySet().forEach(System.out::println);
System.out.print("Please Enter a Name: ");
String name = new Scanner(System.in).next();
Integer number = nameNumber.get(name);
System.out.println(number == null ? "Names Doesn't Match!" : number);
}