软件包PACKAGE_NAME不存在

时间:2019-07-15 20:50:31

标签: java import package

我想为实用程序java类创建一个自定义包。我想随时随地访问这些类。我的包源类路径为:

  

E:/ClassLibrary/lib/util/math/Number.class

我的Java源代码位于:

  

E:/ClassLibrary/src/util/math/Number.java

我已将此路径添加到Windows环境变量中:

对于系统变量:

  

CLASS_LIBRARY = E:\ ClassLibrary

对于环境路径:

  

%CLASS_LIBRARY%\ lib \

这是我的Number.java代码:

package util.math;
public class Number {
public static double round(double num) {
    num *= 100;
    num += 0.5;
    num = (int) num;
    num /= 100;
    return num;
}
}    

这是我要从中导入此类的课程;

import util.math.*;
public class Package {
    public static void main(String[] args) {
            String line = Return.object.name("String");
            System.out.println(line);
            Number.round(2.576);
    }
}

该课程位于:

  

E:/Experiments/Package.java

每当我尝试编译Package.java时。 它说:

Package.java:1: error: package util.math does not exist
import util.math.*;
^
Package.java:6: error: cannot find symbol
            Number.round(2.576);
                  ^
symbol:   method round(double)
location: class Number
2 errors

我已经尝试了所有事情。 但是它们都不起作用! 我是Java编程语言的新手。 我正在使用Windows 10,vs代码, jdk-12

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

编译器输出给您两个特定的错误。

第一个:

Package.java:1: error: package util.math does not exist
import util.math.*;
^

确实没有这样的默认软件包。您可能会重新访问导致您首先添加该行的内容。

第二个:

Package.java:6: error: cannot find symbol
            Number.round(2.576);
                  ^
symbol:   method round(double)

您要在round()类上调用方法Number,但这是在告诉您找不到要运行的“ round()”东西。如果您查看Numberhttps://docs.oracle.com/javase/8/docs/api/java/lang/Number.html)的Javadoc,则会看到可用方法的列表–它们都不是“ round()”。再次值得一提的是,为什么您要尝试Number.round()

在您的Package.java中,您需要编辑代码以指定要使用的Number类,因此,代替此:

Number.round(2.576);

执行此操作:

util.math.Number.round(2.576);

在编译Package.java时,由于它与util/math/Number.java位于不同的目录中,因此您需要告诉编译器在哪里寻找Number.java,如下所示:

javac -cp E:/ClassLibrary/src/ Package.java