【问题标题】:(JAVA) Addition of integers in an Array(JAVA) 数组中整数的加法
【发布时间】:2020-03-21 06:25:27
【问题描述】:

我是 Java 编程新手,所以请原谅任何误解或误解。 我需要编写一个有 2 个方法的程序,第一个方法声明一个整数数组,如图所示,一个变量是这个数组的总和,然后打印出总和。

第二种方法是我添加的地方。我已经声明了一个等于 0 的变量“sum”,所以我的加法可以工作,以及一个基于数组长度添加所有整数的 for 循环,将变量 sum 返回给 main 方法。 (根据我目前对我的程序的理解)

到目前为止,这不起作用,我收到 3 个错误。我的主要方法中的一个“找不到符号 - inputArray” 在“arr.length”的 for 循环中找不到符号,在“sum += arr[i]”中找不到符号 有人可以解释并可能协助我为什么会收到这些错误。感谢您的宝贵时间。

public static void main(String[] args){
    int arr[] = {1,2,3,4,5};
    int sum = sumArray(inputArray);
    System.out.println("The sum is: "+sum);
}
public static int sumArray(int[] inputArray){
    int sum = 0;
    int i;
    for (i = 0; i < arr.length; i++){
        sum += arr[i];
        return sum;
    }   

}

【问题讨论】:

  • for循环结束后添加return语句。 for (i = 0; i &lt; inputArray.length; i++){ sum += inputArray[i]; } return sum;

标签: java arrays algorithm math methods


【解决方案1】:

变量名是inputArrayreturn 语句也应该在循环之外:

public static int sumArray(int[] inputArray){
    int sum = 0;
    for (int i = 0; i < inputArray.length; i++){
        sum += inputArray[i];
    }   
    return sum;
}

【讨论】:

    【解决方案2】:

    您也可以使用 for each 来求总和。找到下面的代码

    public static int sumArray(int[] arr){
        int sum = 0;
        for(int i:arr) {
            sum+=i;
        }
        return sum;   
    }
    

    【讨论】:

      【解决方案3】:

      return 语句应该在 for 循环之外。 当 return 语句在循环中时 sumArray 方法返回 inputArray 的第一个元素的值。下面我还为每个循环添加了名称,并将名称 arr 替换为参数名称 inputArray。

      public static int sumArray(int[] inputArray){
      int sum = 0;
      for (int element : inputArray){
          sum += inputArray[i];
      }
      return sum;
      }
      

      【讨论】:

        【解决方案4】:

        在 java-8 中,您可以像这样使用流:

        public static int sumArray(int[] arr) {
            int sum = IntStream.of(arr).sum();
            return sum;
        }
        

        输出: 总和是:15。

        在 java.util.stream 包中

        【讨论】:

          【解决方案5】:

          我认为这应该可以解决您的问题:

          public static void main(String[] args){
             int arr[] = {1,2,3,4,5};
             int sum = sumArray(arr);
             System.out.println("The sum is: "+ sum);
          }
          
          public static int sumArray(int[] inputArray){
             int sum = 0;
             for (int i = 0; i < inputArray.length; i++){
                 sum += inputArray[i];
                 return sum;
             }
          }
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-02-13
            • 2013-07-17
            • 1970-01-01
            • 1970-01-01
            • 2019-01-11
            • 1970-01-01
            相关资源
            最近更新 更多