Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java &引用;名称不为';“t匹配”;打印,但在这里打印5次_Java_Arrays_Loops_If Statement_Printing - Fatal编程技术网

Java &引用;名称不为';“t匹配”;打印,但在这里打印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]);

当我键入数组列表中不存在的内容时,“名称不匹配”会打印5次。我只想打印一次

  • 哪行代码使“名称不匹配”打印5次
  • 如何只打印一次“名称不匹配”

  • 更改代码以设置布尔值,并在循环后对其求值

    此外,您可以在找到循环后立即中断循环

    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);
    }