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[]

找到:没有参数

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


人到中年有点甜
浏览 237回答 3
3回答

翻阅古今

**&nbsp;错误:(15, 32) java:com.company.Main 类中的方法 sum 不能应用于给定类型;要求:int[]发现:没有参数原因:实际和形式参数列表的长度不同通过错误本身说明了有关问题的一切:要求:int[]发现:没有参数据说它需要一个数据类型为 int 的数组,该数组缺少(无参数),这就是实际参数列表和形式参数列表长度不同的原因因此,Sum 函数需要一个数组作为参数传递。此外,您在整数变量j = rand.nextInt(50);中获得随机整数值;但没有将它分配给数组,这只是浪费循环不必要地运行 10 次。我们可以直接将它分配给数组并在将其传递给方法sum(array)之前用随机整数填充数组,而不是将其分配给 j&nbsp;:尝试使用需要更改的更新代码:package com.company;import java.util.Random;public class Main {&nbsp; &nbsp; public static int sum(int[] array) {&nbsp; &nbsp; &nbsp; &nbsp; int x = array[0];&nbsp; &nbsp; &nbsp; &nbsp; int y = array[9];&nbsp; &nbsp; &nbsp; &nbsp; int z = x + y;&nbsp; &nbsp; &nbsp; &nbsp; return z;&nbsp; &nbsp; }&nbsp; &nbsp; public static void main(String[] args) {&nbsp; &nbsp; &nbsp; &nbsp; int[] array = new int[10];&nbsp; &nbsp; &nbsp; &nbsp; Random rand = new Random();&nbsp; &nbsp; &nbsp; &nbsp; for (int i = 0; i < array.length; i++) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; array[i] = rand.nextInt(50);&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; System.out.println(sum(array));&nbsp; &nbsp; }}

料青山看我应如是

你应该初始化array用random(),然后把array作为参数调用sum()函数。代码如下:public static void main(String[] args) {&nbsp; &nbsp; int[] array = new int[10];&nbsp; &nbsp; Random rand = new Random();&nbsp; &nbsp; for (int i = 0; i < array.length; i++) {&nbsp; &nbsp; &nbsp; &nbsp; int j = rand.nextInt(50);&nbsp; &nbsp; &nbsp; &nbsp; array[i] = j;&nbsp; &nbsp; }&nbsp; &nbsp; System.out.println(sum(array));}然后,你就可以得到你想要的结果。

开满天机

您没有将数组传递给方法。改变你的线路System.out.println(sum());到System.out.println(sum(array));你也没有把j到array你打电话之前和array填充。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java