首页 > 解决方案 > 为什么我在 vsc 中找不到符号错误?

问题描述

这里我使用 vsc 来运行一个简单的 java 代码

为什么我会收到这个错误?

错误

main.java:5: error: cannot find symbol
        Array numbers = new Array(3);
        ^
  symbol:   class Array
  location: class Main

这是主要和数组类

main.java

package main;

class Main {
    public static void main(String[] args) {
        Array numbers = new Array(3);
        numbers.insert(2);
        numbers.print();
    }
}

数组.java

package main;

public class Array {
    int[] array;

    public Array(int length) {

        int[] array = new int[length];

    }

    public void insert(int item) {

        array[array.length] = item;
    }

    public void print() {
        System.out.println(array);
    }

}

标签: javavisual-studio-code

解决方案


请在Java Process Console中而不是 Code Runner 中运行它,还要注意一些代码:

public class Array {
    int[] array;

    public Array(int length) {

        int[] array = new int[length];

    }

这是一个重复的数组定义,然后运行 ​​main 函数会导致NullPointerException;

public void insert(int item) {

        array[array.length] = item;
    }

数组索引是from 0 to length-1,所以array[array.length]会导致ArrayIndexOutOfBoundsException

在Java Process Console中运行的最终代码应该是

在此处输入图像描述


推荐阅读