【发布时间】:2020-01-04 14:47:25
【问题描述】:
我不熟悉编码并尝试调用我在单独的类中编写和定义的方法 (RandomArray),但在我的驱动程序代码中我收到以下错误消息:
找不到符号 - RandomArray()。
代码应该创建一个数组(其大小由用户选择),然后用随机数填充它并输出所述数组中数字的最高、最低和平均值。
所有拼写都匹配,调用本身可以正常工作并且没有显示错误,但是在 for 循环中使用它时,我会收到错误消息。
这是我创建方法的类:
import java.util.Random;
public class RandomArray
{
//things declared at class level
public int minimun,maximun,adverage, mn, mx, avg;
public String range;
//constucotr for inital numbers
public RandomArray()
{
minimun = 0;
maximun = 1000 + 1;
}
static int RandomArray()
{
Random ran = new Random();
return (ran.nextInt(1000) + 1);
}
//define types
public RandomArray (int mn, int mx, String r, int a)
{
minimun = mn;
maximun = mx;
range = r;
adverage = a;
}
//set minimun
public void setMinimun (int m)
{
minimun = mn;
}
//get minimun
public int getMinimun()
{
return minimun;
}
//set maximun
public void setMaximun(int x)
{
maximun = mx;
}
//get maximun
public int getMaximun()
{
return maximun;
}
//compute adverage
public int adverage(int...array)
{
int adverage = 0;
if (array.length > 0)
{
int sum = 0;
for(int num : array)
sum = sum + num; //add numbers in array
adverage = (int)sum / array.length; //divide numbers in array by the array lenth
}
return adverage;
}
//return values as a string
public String toString()
{
return String.valueOf(getMinimun() + getMaximun() + adverage());
}
}
这是应该用随机数填充(用户选择的)数组并打印最高、最低和平均值的驱动程序:
import java.util.Random;
import java.util.Scanner;
import java.util.Arrays;
public class DemoRandomArray
{
// variable go here
final int minimun = 0;
public static void main(String[] args)
{
final int max = 100;
RandomArray ra = new RandomArray();
int[] anArray = new int[1000];
for(int i=1; i < max; i++)
{
System.out.println(RandomArray());
}
}
}
【问题讨论】:
-
如果要调用静态方法
RandomArray(),请使用RandomArray.RandomArray()(ClassName.staticMethodName)。请注意,最好将方法重命名为与类名不同的名称,这样可以减少混淆。同样根据 Java 代码约定,方法名称应以小写字母开头。
标签: java arrays class random methods