4

- 背景资料:

我最近开始学习 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测试

输出说:

错误:主方法在类测试中不是静态的,请将主方法定义为:
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!"); 
          }
      }

- 问题:

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

4

1 回答 1

0

解决方案:

我在编写和保存我的 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. 我在记事本中添加了静态,所以它变成了 public static void main(String[] args){}
  4. 我再次将文件保存在记事本中。
  5. 我在命令提示符下运行 javac test.java,然后运行 ​​java test,得到了 Hello World 输出。
于 2017-12-26T04:50:38.603 回答