Java 如何修复此“的实例”;can';“找不到符号”吗;?
我得到了一个如下所示的驱动程序:Java 如何修复此“的实例”;can';“找不到符号”吗;?,java,arrays,Java,Arrays,我得到了一个如下所示的驱动程序: 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
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);
.
.
.
}
}
假设生成列表构造函数生成一个列表长度的数组,其中包含20个不同的非重复数字,介于100和199之间(包括100和199)
这是我目前的课程:
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键时,它会显示一条错误消息:“找不到符号-方法生成列表(int[])”,但我没有正确地生成该构造函数。如果有人能澄清这一点,并帮助我解决编程问题,那将是惊人的 这是因为
Lab\u驱动程序
和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);
.
.
.
}
或者,如果将方法设置为静态,则可以执行此操作:
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);
.
.
.
}
我想您需要将
makeList
设置为static
,然后调用LabTest.makeList(list)代码>而不是生成列表(列表)代码>非常确定你不能只使用这个。list=list,我认为你应该使用一个copy方法。它们甚至不在同一个类中。要么将其设为静态并通过类调用,要么通过其所在类的实例调用。@Stultuske,这就是错误的原因。@Hackerdarshi。。。调用(本地)不存在的(本地)方法,是的,这会导致错误