为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

人到中年有点甜 2021-12-01 14:55:35
我正在使用 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[]找到:没有参数原因:实际和形式参数列表的长度不同
查看完整描述

3 回答

?
翻阅古今

TA贡献1780条经验 获得超5个赞

** 错误:(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));

    }

}


查看完整回答
反对 回复 2021-12-01
?
料青山看我应如是

TA贡献1772条经验 获得超8个赞

你应该初始化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));

}

然后,你就可以得到你想要的结果。


查看完整回答
反对 回复 2021-12-01
?
开满天机

TA贡献1786条经验 获得超13个赞

您没有将数组传递给方法。改变你的线路

System.out.println(sum());

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

你也没有把jarray你打电话之前和array填充。


查看完整回答
反对 回复 2021-12-01
  • 3 回答
  • 0 关注
  • 236 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信