Java 11 个编译器 returns "package does not exist"

Java 11 compiler returns "package does not exist"

我正在尝试重新学习一些编程技能。

我决定使用一个我最喜欢的东西——逻辑门模拟——作为学习工具。

我想将此项目设置为使用包。

我的类路径是“C:\Users\ruthm\Documents\java”

我的项目代码在目录中:

C:\Users\ruthm\Documents\java\逻辑

我正在使用 Java 11

我的 类 到目前为止是 Connector.java 和 ConnectorTest.java

连接器代码如下:

package logic;

/* 
Class Connector

A connector forms the input and output of a LogicGate.
The connector "output" object of a gate can be passed to another gate to form the input.


*/


public class Connector{
    private int value;
    
    public Connector(){
        value=0;
    }
    public Connector(int state){
        value=state;
    }
    public void setValue(int state){
        value=state;
    }
    public int getValue(){
        return value;
    }
}

连接器测试代码如下:

/* Test Case for Connector */

import logic.*;


class ConnectorTest{
        public static void main (String[] args){
            logic.Connector myConnector = new logic.Connector();
            System.out.println("initial value: "+myConnector.getValue());
            myConnector.setValue(1);
            System.out.println("Set value: "+myConnector.getValue());
        }
}

Connector.java 编译没有错误。 当我尝试编译 ConnectorTest.java 时,我从编译器中得到以下信息:

C:\Users\ruthm\Documents\java\logic>javac ConnectorTest.java
ConnectorTest.java:4: error: package logic does not exist
import logic.*;
^
ConnectorTest.java:9: error: package logic does not exist
                        logic.Connector myConnector = new logic.Connector();
                             ^
ConnectorTest.java:9: error: package logic does not exist
                        logic.Connector myConnector = new logic.Connector();
                                                               ^
3 errors

C:\Users\ruthm\Documents\java\logic>

我一直在遵循有关目录结构和包的指南来尝试解决这个问题,但我显然不理解某些东西。

如果我也将 ConnectorTest 声明在包逻辑中,我会得到同样的错误。

谁能抓住我的手,告诉我哪里出错了?

My project code is in the directory:

C:\Users\ruthm\Documents\java\logic

这意味着为了避免麻烦,您最好对它们使用相同的包指令。

所以如果你添加这个:

package logic;

到您的 ConnectorTest class,应该没问题,因为您没有任何其他问题。

如果您想在默认包中保留您的 ConnectorTest class,您可以将您的 ConnectorTest.java 文件移动到 C:\Users\ruthm\Documents\java 目录,但保留您的连接器 class在逻辑目录中。