1

我有两门课,一门很简单

示例.java

public class Sample {
  public static void main(String args[]) {

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

另一个是这样的

主.java

public class Main
{  
  public static void main(String[] args) throws Exception
  {
     Runtime.getRuntime().exec("java Sample");
  }
}

我基本上是在尝试运行 Main.java 程序以在新的命令提示符下调用 Sample.java ......这是一个新的 cmd,应该打开并打印 Sample.java 的输出......我应该怎么做...... .???

4

4 回答 4

4

将两者编译在一起,然后从 Sample 中,

Main.main(args);

会成功的。您不需要导入,因为您在同一个包中。请注意链接的教程。 http://docs.oracle.com/javase/tutorial/java/package/index.html

于 2013-09-13T08:02:31.673 回答
2
Runtime.getRuntime().exec("cmd /c start cmd.exe /K \"cd <where_the_Sample_is> && javac Sample.java && java Sample\"");

或者如果该类已经编译:

Runtime.getRuntime().exec("cmd /c start cmd.exe /K \"cd <where_the_Sample_is> && java Sample\"");
于 2013-09-13T08:02:49.870 回答
2

我正在使用日食。类文件放置在项目目录下的 bin 目录中。下面的代码启动命令提示符,将目录更改为 bin 并发出 java Sample 命令。您可以根据需要对其进行编辑。

Runtime.getRuntime().exec("cmd.exe /c cd \"bin\" & start cmd.exe /k \"java Sample\"");

于 2013-09-13T08:06:20.970 回答
0

您可以使用以下代码:

public class Main {
    public static void main(String[] args) throws Exception {
        Class<Sample> clazz = Sample.class;
        Method mainMethod = clazz.getMethod("main", String[].class);
        String[] params = null;
        mainMethod.invoke(null, (Object) params);
    }
}
于 2013-09-13T08:08:50.223 回答