Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何修复此“的实例”;can';“找不到符号”吗;?_Java_Arrays - Fatal编程技术网

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。。。调用(本地)不存在的(本地)方法,是的,这会导致错误