我获得了一个类似于以下内容的驱动程序:
public class LabTest_Driver
{
public static void main (String[] args)
{
int[] list = new int[20];
System.out.println();
makeList (list);
System.out.print("\n" + "The original (unsorted) list is:" + "\n");
showArray(list);
.
.
.
}
}
makeList构造函数假设使用20和199(含)之间的20个不同的非重复数字来生成列表长度的数组
到目前为止,这是我的班级:
import java.util.Scanner;
import java.util.Random;
public class LabTest
{
private static int[] list;
public void makeList(int[] list)
{
Random ran = new Random();
this.list = list;
int n = list.length;
for (int element : list)
{
int w = ran.nextInt(100) + 99;
list[element] = w;
w = 0;
}
}
public void showArray(int[] b)
{
for (int element : list)
{
System.out.print(list[element] + " ");
}
}
}
当我按下编译时,会出现一条错误消息“无法找到符号 - 方法makeList(int [])”,但是我没有正确地构造该构造函数。如果有人能澄清这一点,并帮助我解决我的编程问题,这将是惊人的。
答案 0 :(得分:1)
这是因为Lab_Driver
和LabTest
有两个不同的类。您必须创建类LabTest
的新对象,然后在该对象上调用您的方法,即makeList()
和showList()
。或者,如果这两种方法都是static
,您可以通过在LabTest
前添加前缀来直接调用它们。
以下是更正后的代码段:
public static void main (String[] args)
{
int[] list = new int[20];
System.out.println();
LabTest labTest = new LabTest();
labTest.makeList(list);
System.out.print("\n" + "The original (unsorted) list is:" + "\n");
labTest.showArray(list);
.
.
.
}
或者,如果您制作方法static
:
public static void main (String[] args)
{
int[] list = new int[20];
System.out.println();
LabTest.makeList(list);
System.out.print("\n" + "The original (unsorted) list is:" + "\n");
LabTest.showArray(list);
.
.
.
}