Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.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)if/else if/else循环后的Return语句?_Java_If Statement_Return_Static Methods - Fatal编程技术网

((Java)if/else if/else循环后的Return语句?

((Java)if/else if/else循环后的Return语句?,java,if-statement,return,static-methods,Java,If Statement,Return,Static Methods,卡在我的赋值的一个特定部分:在循环外有一个返回语句。如果你看代码,你可以猜测我在这里尝试做什么。程序的其余部分工作正常,但这个方法一直给我相同的错误语句:缺少返回语句 private static String HighOrLow (int[] numbers) { for (int i = 0; i < numbers.length; i++) { if (numbers[i] > average) { return

卡在我的赋值的一个特定部分:在循环外有一个返回语句。如果你看代码,你可以猜测我在这里尝试做什么。程序的其余部分工作正常,但这个方法一直给我相同的错误语句:缺少返回语句

private static String HighOrLow (int[] numbers)
 {
     for (int i = 0; i < numbers.length; i++)
     {

        if (numbers[i] > average) {
             return (numbers[i] + "is above the average");
        }
        else if (numbers[i] < average) {
             return (numbers[i] + " is below the average");
        }
        else   {
             return (numbers[i] + " is equal to the average");
        }

    }
我意识到有些事情应该超出forloop的范围,但不知道如何去做。非常感谢任何有帮助的帮助


4/5/16:首先,感谢大家的帮助!我已经准备好了,可以开始了。除了每个数字,不管是高还是低,都是高于平均值的。Paul Guiheen的想法是正确的,我很感激,但我必须为每个数组整数打印单独的行。

如果数字长度为0,你应该在循环外添加一个返回语句,所以将永远不会进入您的功能内部

private static String HighOrLow (int[] numbers){
 for (int i = 0; i < numbers.length; i++) {
    if (numbers[i] > average) {
         return (numbers[i] + "is above the average");
    }
    else if (numbers[i] < average) {
         return (numbers[i] + " is below the average");
    }
    else   {
         return (numbers[i] + " is equal to the average");
   }
  }
  return "No numbers founds";
}
按照惯例,方法也应以第一个小写字母开头:

方法应该是动词,混合大小写,第一个字母小写,每个内部单词的第一个字母大写


如果numbers长度为0,则应该在循环外添加return语句,这样它就永远不会进入for函数内部

private static String HighOrLow (int[] numbers){
 for (int i = 0; i < numbers.length; i++) {
    if (numbers[i] > average) {
         return (numbers[i] + "is above the average");
    }
    else if (numbers[i] < average) {
         return (numbers[i] + " is below the average");
    }
    else   {
         return (numbers[i] + " is equal to the average");
   }
  }
  return "No numbers founds";
}
按照惯例,方法也应以第一个小写字母开头:

方法应该是动词,混合大小写,第一个字母小写,每个内部单词的第一个字母大写


如果要计算所有数字,则应将每个整数的结果存储在数组中,让循环完成,然后返回

    private static String HighOrLow(int[] numbers) {
        if (numbers.length == 0) {
            return "No numbers provided";
        }

        ArrayList<Integer> above = new ArrayList();
        ArrayList<Integer> equal = new ArrayList();
        ArrayList<Integer> below = new ArrayList();

        for (int i = 0; i < numbers.length; i++) {
            if (numbers[i] > average) {
                above.add(numbers[i]);
            } else if (numbers[i] < average) {
                below.add(numbers[i]);
            } else {
                equal.add(numbers[i]);
            }
        }

        StringBuilder result = new StringBuilder();
        result.append("Above Average: ");
        result.append(above.toString());
        result.append(", ");
        result.append("Below Average: ");
        result.append(below.toString());
        result.append(", ");
        result.append("Average: ");
        result.append(equal.toString());
        return result.toString();
    }

如果要计算所有数字,则应将每个整数的结果存储在数组中,让循环完成,然后返回

    private static String HighOrLow(int[] numbers) {
        if (numbers.length == 0) {
            return "No numbers provided";
        }

        ArrayList<Integer> above = new ArrayList();
        ArrayList<Integer> equal = new ArrayList();
        ArrayList<Integer> below = new ArrayList();

        for (int i = 0; i < numbers.length; i++) {
            if (numbers[i] > average) {
                above.add(numbers[i]);
            } else if (numbers[i] < average) {
                below.add(numbers[i]);
            } else {
                equal.add(numbers[i]);
            }
        }

        StringBuilder result = new StringBuilder();
        result.append("Above Average: ");
        result.append(above.toString());
        result.append(", ");
        result.append("Below Average: ");
        result.append(below.toString());
        result.append(", ");
        result.append("Average: ");
        result.append(equal.toString());
        return result.toString();
    }

如果您的方法在第一次迭代后返回,则使用循环是没有意义的。实际上,不清楚您试图执行什么操作。始终确保包含代码试图完成什么操作的描述。如果您的方法在第一次迭代后返回,则使用循环是没有意义的。实际上,不清楚您试图执行什么操作。a始终确保包含代码试图完成的内容的描述。如果这确实是代码的意图,那么从for循环更改为If numbers.length==0会更清楚。如果这确实是代码的意图,那么从for循环更改为If numbers.length会更清楚==0返回在方法顶部找不到任何数字。感谢额外的帮助。问题是我需要它来正确读入方法。格式打印很好,但所有内容都高于平均值。感谢额外的帮助。问题是我需要它来正确读入方法。格式打印很好,但所有内容都在进行高于平均水平。