我得到了一个如下所示的驱动程序:
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构造函数使用100至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] + " ");
}
}
}
当我按下compile时,它会显示一条错误消息“找不到符号-方法makeList(int [])”,但是我没有正确地构造该构造函数。如果有人可以澄清这一点并帮助我解决编程问题,那将是惊人的。
最佳答案
这是因为您有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);
.
.
.
}
关于java - 如何解决这种“找不到符号”的情况?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35224408/