从java Main调用另一个java文件中的方法

从java Main调用另一个java文件中的方法,java,netbeans,Java,Netbeans,执行时,我有错误:在MyCalcs.MtgeCalc()行中找不到符号;在Main.java文件中 为什么会这样??? 在Main.java文件中,我有:- e/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in

执行时,我有错误:在MyCalcs.MtgeCalc()行中找不到符号;在Main.java文件中 为什么会这样??? 在Main.java文件中,我有:-

 e/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.MyJava.002mavern;
public class Main {
    public static void main(String[] args) {
       MyCalcs.MtgeCalc();
   }
}
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.MyJava.002mavern;
public class MyCalcs {
    public MyCalcs() {
    }
        public static double MtgeCalc(){
            System.out.println("mtgecalc");
            return 10;
        }
}
在MyCalcs.java文件中,我有:-

 e/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.MyJava.002mavern;
public class Main {
    public static void main(String[] args) {
       MyCalcs.MtgeCalc();
   }
}
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package com.MyJava.002mavern;
public class MyCalcs {
    public MyCalcs() {
    }
        public static double MtgeCalc(){
            System.out.println("mtgecalc");
            return 10;
        }
}

…只是在此处添加更多文本以满足发布问题数据完整性检查,但此处似乎需要大量文本,因此我将继续键入,直到我能够发布问题…

您是否尝试更改包装名称?如
user
所述,包名不能以数字开头。尝试
com.MyJava
,而不是
com.MyJava.002mavern
,代码将编译并运行

更新#2:除了不正确的包之外,似乎并不是所有的Java文件都被编译过。尝试
javac*.java
编译这两个java文件。另外,有关
javac
Java
命令的更多信息,请参见以下两个Java 8参考:

  • 爪哇语:
  • 爪哇:

Java标识符不能以数字开头btwMy package name不能以002开头,我在发布问题之前编辑了package name。抱歉。@DonaldWGarton在更改了这两个文件的包之后,您是否尝试重建项目?我假设它们所在的文件夹也已更新。他们会成功的。请参阅:@DonaldWGarton您是从命令行还是从Eclipse之类的IDE构建的?如果您是从命令行构建的,您可以共享命令和您得到的错误吗?javacmain。java@DonaldWGarton您需要编译所有java文件。你能试试“javac*.java”吗。如果有效,我会更新我的答案,你可以投票接受。