Java中第一个和最后一个数组元素的总和

时间:2018-10-21 17:02:27

标签: java

我正在使用JB IntelliJ IDEA,并尝试创建一个程序,该程序使用sum()方法查找随机生成的数组的第一个元素和最后一个元素的和。我的问题是发生错误,请帮助我。

这是我的代码:

package com.company;
import java.util.Random;
public class Main {
    public static int sum(int[] array) {
        int x = array[0];
        int y = array[9];
        int z = x + y;
        return z;
    }
    public static void main(String[] args) {
        int[] array = new int[10];
        Random rand = new Random();
        for (int i = 0; i < array.length; i++) {
            int j = rand.nextInt(50);
            System.out.println(sum());
        }
    }
}

和错误:

  

错误:(15,32)java:com.company.Main类中的方法sum不能应用于给定类型;
    必需:int []
    找到:没有参数
    原因:实际和正式论据列表的长度不同

4 个答案:

答案 0 :(得分:2)

** 错误:(15,32)java:类com.company.Main中的方法sum不能应用于给定类型;

必填:int []

发现:无自变量

原因:实际和正式参数列表的长度不同

经历错误本身可以说明有关该问题的所有信息:

必填:int []

发现:无自变量

这是说它需要一个数据类型为int的数组,该数组丢失了(没有参数),这就是为什么实际和形式参数列表的长度不同

因此,求和函数需要将数组作为参数传递。

此外,您正在整数变量 j = rand.nextInt(50); 中获得随机整数值,但没有将其分配给数组,这只会浪费循环不必要地运行10次。

除了将其分配给j之外,我们还可以直接将其分配给数组,并在将其传递给方法 sum(array) 之前,使用随机整数填充数组:

尝试此更新的代码并进行所需的更改:

package com.company;
import java.util.Random;
public class Main {
    public static int sum(int[] array) {
        int x = array[0];
        int y = array[9];
        int z = x + y;
        return z;
    }
    public static void main(String[] args) {
        int[] array = new int[10];
        Random rand = new Random();
        for (int i = 0; i < array.length; i++) {
            array[i] = rand.nextInt(50);
        }
        System.out.println(sum(array));
    }
}

答案 1 :(得分:0)

您没有将数组传递给方法。更改您的行

System.out.println(sum());

System.out.println(sum(array));

您还没有将j放入array中,而是在填充array之前调用sum。

答案 2 :(得分:0)

您的sum方法需要一个int []类型的属性。但是在语句System.out.println(sum());中您没有将属性传递给您的方法。

尝试以下代码:

    public static int sum(int[] array) {
        int x = array[0];
        int y = array[9];
        int z = x + y;
        return z;
    }
    public static void main(String[] args) {
        int[] array = new int[10];
        Random rand = new Random();
        for (int i = 0; i < array.length; i++) {
            array[i] = rand.nextInt(50);
            System.out.println(array[i]);
        }
        System.out.println(sum(array));
    }

答案 3 :(得分:0)

您应该使用array初始化random(),然后将array作为参数来调用sum()函数。 代码如下:

public static void main(String[] args) {
    int[] array = new int[10];
    Random rand = new Random();
    for (int i = 0; i < array.length; i++) {
        int j = rand.nextInt(50);
        array[i] = j;
    }
    System.out.println(sum(array));
}

然后,您可以获得所需的结果。