我正在使用JB IntelliJ的想法,并试图创建一个程序,该程序使用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());
}
}
}
和错误:
java错误:(15,32)
:类com.company.Main中的方法sum不能应用于给定的类型;
必需: int[]
已找到:无参数
原因:实际参数列表和形式参数列表的长度不同
发布于 2018-10-22 01:18:31
** 错误:(15,32) java:类com.company.Main中的方法sum不能应用于给定类型;
所需:int[]
找到:没有参数
原因:实际参数列表和形式参数列表的长度不同
检查错误本身会说明有关该问题的所有信息:
所需:int[]
找到:没有参数
这就是说,它需要一个数据类型为int的数组,该数组缺少(无参数),这就是为什么实际参数列表和形式参数列表的长度不同于的原因
因此,Sum函数需要一个数组作为参数传递。
此外,您将在整数变量j = rand.nextInt(50);中获得随机整数值,但没有将其赋值给数组,这只是浪费循环运行不必要的10次。
尝试使用所需更改的更新后的代码:
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));
}
}
发布于 2018-10-22 01:07:29
您没有将数组传递给该方法。改变你的台词
System.out.println(sum());
至
System.out.println(sum(array));
此外,您没有将j
放入array
中,并且在填充array
之前调用了sum。
发布于 2018-10-22 01:08:49
方法sum需要类型为int[]的属性。
试试下面的代码:
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));
}
https://stackoverflow.com/questions/52917781
复制相似问题