Java:找不到符号。当两个文件位于同一目录时,看起来像“导入错误”

问题描述 投票:0回答:1

我的目录中有 2 个文件。第一个文件名为“Percolation.java”,其内容如下:

public class Percolation {

    public Percolation(int n) {
        System.out.println("Going to create a Percolation object with n = " + n);
    }
}

第二个文件名为“PercolationStats.java”,其内容为:

public class PercolationStats {

    public PercolationStats(int n, int trials) {
        Percolation percolation = Percolation(n);
    }

    public static void main(String[] args) {
        int n = Integer.parseInt(args[0]);
        int T = Integer.parseInt(args[1]);
        System.out.println("Going to make " + args[1] + " experiments with " + args[0] + "-sized grid");
        PercolationStats percolationStats = new PercolationStats(n, T);
    }
}

当我从此目录运行命令

javac-algs4 *.java
javac-algs4 Percolation.java PercolationStats.java
javac-algs4 PercolationStats.java Percolation.java
时,或者即使我先运行
javac-algs4 Percolation.java
然后运行
javac-algs4 PercolationStats.java
它总是会抛出错误:

PercolationStats.java:10: error: cannot find symbol
        Percolation pp = Percolation(n);
                         ^
  symbol:   method Percolation(int)
  location: class PercolationStats

不知道为什么它不喜欢符号“P”,它只是一个常规的UTF-8英文字母“P”。请帮助我以某种方式在 PercolationStats.java 文件中导入 Percolation 类。

我使用 MacOS Ventura 13.5.2。

java -version
命令输出:

java version "15.0.2" 2021-01-19
Java(TM) SE Runtime Environment (build 15.0.2+7-27)
Java HotSpot(TM) 64-Bit Server VM (build 15.0.2+7-27, mixed mode, sharing)

我还安装了我想学习的课程主持人推荐的java编程环境这里

java import importerror
1个回答
0
投票

您遇到的错误是由于 PercolationStats 类中 Percolation 类的构造函数使用不正确造成的。

要解决此问题,您需要在创建 Percolation 类的新实例时使用 new 关键字。更新 PercolationStats 类中的以下行:

Percolation percolation = Percolation(n);

至:

Percolation percolation = new Percolation(n);

这将使用您定义的构造函数正确创建 Percolation 类的新实例。

进行此更改后,您可以使用 javac 命令编译代码。确保 Percolation.java 和 PercolationStats.java 位于同一目录中,然后运行以下命令:

javac Percolation.java PercolationStats.java

这应该成功编译两个文件,没有任何错误。

© www.soinside.com 2019 - 2024. All rights reserved.