运行 命令提示符下的 java 程序

Running a java program on command prompt

- 背景资料:

我最近开始学习 Java 编程语言的基础知识。为了在命令提示符下 运行 我的程序,我下载了 java 开发工具包,也称为 JDK,并将 windows 10 系统路径设置为:

C:\Program Files\Java\jdk-9.0.1\bin;C:\Program Files\Java\jre-9.0.1\bin

- 问题:

使用以下格式编写简单的 Hello World 程序后:

    class test{

        public static void main(String[] args){

            System.out.println("Hello World!");
        }
    }

和 运行 使用

在命令提示符下设置它

javac test.java

,然后写

java test

输出显示:

Error: Main method is not static in class test, please define the main method as:
public static void main(String[] args)

我尝试在在线 Java 编译器上编译我的简单程序,一切正常。

- 编辑:

按照建议使用 Java 反编译器。我用了 http://www.javadecompilers.com/result 输出是:

    import java.io.PrintStream;

      public class test { 
          public test() {} public void main(String[] paramArrayOfString) { 
               System.out.println("Hello World!"); 
          }
      }

- 问题:

问题出在哪里?我该如何解决?

解决方案:

我在编写和保存我的 test.java 程序时使用了 "Sublime Text 3"。 @Silvio Mayolo 建议使用 java 反编译器找出问题所在,我注意到在 Sublime 中保存我的程序时,由于某种原因在 test.java 文件中删除了静态文件。然后我做了以下步骤:

  1. 我关闭了sublime text 3
  2. 我用记事本打开了 test.java 文件。我意识到在 public 之后缺少静态,所以它是 public void main(String args){}.
  3. 我在记事本里加了static,所以变成了publicstatic void main(String[] args){}
  4. 我在记事本中再次保存了文件。
  5. I 运行 javac test.java 在命令提示符下,然后 java 测试,我得到了我的 Hello World 输出。