我正在使用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 []
找到:没有参数
原因:实际和正式论据列表的长度不同
答案 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));
}
然后,您可以获得所需的结果。