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

Java中第一个和最后一个数组元素的总和,java,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];

我正在使用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());
        }
    }
}
package.com公司;
导入java.util.Random;
公共班机{
公共静态整数和(整数[]数组){
int x=数组[0];
int y=数组[9];
intz=x+y;
返回z;
}
公共静态void main(字符串[]args){
int[]数组=新的int[10];
Random rand=新的Random();
for(int i=0;i
和错误:

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


您没有将数组传递给该方法。换线

System.out.println(sum());


另外,您没有将
j
放入
array
中,在
array
填充之前调用sum。

方法sum需要int[]类型的属性。但是在语句系统.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));
    }
公共静态整数和(int[]数组){
int x=数组[0];
int y=数组[9];
intz=x+y;
返回z;
}
公共静态void main(字符串[]args){
int[]数组=新的int[10];
Random rand=新的Random();
for(int i=0;i
您应该使用
random()
初始化
数组
,然后将
数组
作为参数调用
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));
}
publicstaticvoidmain(字符串[]args){
int[]数组=新的int[10];
Random rand=新的Random();
for(int i=0;i
然后,你可以得到你想要的结果。

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

必填项:int[]

找到:没有参数

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

检查错误本身就说明了问题的所有方面:

必填项:int[]

找到:没有参数

这意味着它需要一个缺少数据类型int的数组(没有参数),这就是实际参数列表和形式参数列表长度不同的原因

因此,Sum函数需要将数组作为参数传递

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

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

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

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));
    }
}
package.com公司;
导入java.util.Random;
公共班机{
公共静态整数和(整数[]数组){
int x=数组[0];
int y=数组[9];
intz=x+y;
返回z;
}
公共静态void main(字符串[]args){
int[]数组=新的int[10];
Random rand=新的Random();
for(int i=0;i
Method
sum()
应将输入作为整数数组,因为方法签名类似于它编译的公共静态整数和(int[]数组)
但数组中填充了零
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));
    }
}