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

问题描述 投票:4回答:1

- 背景资料:

我最近开始学习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!"); 
          }
      }

- 题:

问题来自哪里?我该如何解决?

java windows-10 command-prompt java-deployment-toolkit
1个回答
0
投票

解:

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

  1. 我关闭了崇高的文字3
  2. 我用记事本打开了我的test.java文件。我意识到静态在public之后就丢失了,所以它是public void main(String args){}。
  3. 我在记事本中添加了static,所以它变成了public static void main(String [] args){}
  4. 我在记事本中再次保存了文件。
  5. 我在命令提示符下运行了javac test.java,然后是java test,我得到了Hello World输出。
© www.soinside.com 2019 - 2024. All rights reserved.