如何在 cmd 上从我的 java 程序执行特定方法?
How to execute a specific method from my java program on cmd?
我有一个 java 程序定义如下:
public class MyClass{
public String getPathBetween(String path,String folderName,String extension){..}
public static void main(String[] args) throws Exception{...}
}
使用以下命令编译程序后:
$ javac MyClass.java
我可以 运行 像这样的主要方法 :
$java我的班级
但是我如何 运行 getPathBetween 方法?
我试过了,但没有用:
$ java MyClass.getPathBetween("some text", "some","text")
您需要调用 main
中的方法。程序的入口点总是main
.
//You can create an instance of MyClass in your main() method
// and then call getPathBetween():
public class MyClass{
public String getPathBetween(String path, String folderName, String extension){..}
public static void main(String[] args) throws Exception{
MyClass myClassInstance = new MyClass();
String path = "/some/path/value";
String folder = "my-test-folder";
String extension = "xyz";
String pathBetween = myClassInstance.getPathBetween(path, folder, extension);
System.out.println("pathBetween=" + pathBetween);
}
}
或者,如果您希望能够从命令行将值传递到 getPathBetween()
,您可以将代码更改为:
public class MyClass{
public String getPathBetween(String path, String folderName, String extension){..}
public static void main(String[] args) throws Exception{
MyClass myClassInstance = new MyClass();
String path = args[0];
String folder = args[1];
String extension = args[2];
String pathBetween = myClassInstance.getPathBetween(path, folder, extension);
System.out.println("pathBetween=" + pathBetween);
}
}
然后运行像这样:
java MyClass "some text" "some" "text"
如 中所述,方法名称 main
始终是在命令行(控制台)中执行的 Java 应用程序的入口点。
用户可以传递参数
如 中所述,用户可以在 command-line 上调用您的 Java 应用程序时传递参数。
参见 Oracle 提供的this tutorial。
通过提示和菜单与用户互动
您还可以在命令行上与用户交互。使用 System.out
打印说明和菜单选项以供用户阅读。使用 Scanner
对象来接收和解析用户在命令行上键入的输入。
请参阅 Oracle 的本教程,I/O from the Command Line。
搜索 Stack Overflow 可以找到很多例子。这种方法经常用于入门 Java 学生的教程和教科书中。
REPL
您可能对 REPL bundled with Java, JShell.
感兴趣
使用 JShell,您可以键入 Java 代码以立即执行。如果你的class,你可以实例化一个对象。您可以对该对象调用方法。
我有一个 java 程序定义如下:
public class MyClass{
public String getPathBetween(String path,String folderName,String extension){..}
public static void main(String[] args) throws Exception{...}
}
使用以下命令编译程序后:
$ javac MyClass.java
我可以 运行 像这样的主要方法 :
$java我的班级
但是我如何 运行 getPathBetween 方法?
我试过了,但没有用:
$ java MyClass.getPathBetween("some text", "some","text")
您需要调用 main
中的方法。程序的入口点总是main
.
//You can create an instance of MyClass in your main() method
// and then call getPathBetween():
public class MyClass{
public String getPathBetween(String path, String folderName, String extension){..}
public static void main(String[] args) throws Exception{
MyClass myClassInstance = new MyClass();
String path = "/some/path/value";
String folder = "my-test-folder";
String extension = "xyz";
String pathBetween = myClassInstance.getPathBetween(path, folder, extension);
System.out.println("pathBetween=" + pathBetween);
}
}
或者,如果您希望能够从命令行将值传递到 getPathBetween()
,您可以将代码更改为:
public class MyClass{
public String getPathBetween(String path, String folderName, String extension){..}
public static void main(String[] args) throws Exception{
MyClass myClassInstance = new MyClass();
String path = args[0];
String folder = args[1];
String extension = args[2];
String pathBetween = myClassInstance.getPathBetween(path, folder, extension);
System.out.println("pathBetween=" + pathBetween);
}
}
然后运行像这样:
java MyClass "some text" "some" "text"
如 main
始终是在命令行(控制台)中执行的 Java 应用程序的入口点。
用户可以传递参数
如
参见 Oracle 提供的this tutorial。
通过提示和菜单与用户互动
您还可以在命令行上与用户交互。使用 System.out
打印说明和菜单选项以供用户阅读。使用 Scanner
对象来接收和解析用户在命令行上键入的输入。
请参阅 Oracle 的本教程,I/O from the Command Line。
搜索 Stack Overflow 可以找到很多例子。这种方法经常用于入门 Java 学生的教程和教科书中。
REPL
您可能对 REPL bundled with Java, JShell.
感兴趣使用 JShell,您可以键入 Java 代码以立即执行。如果你的class,你可以实例化一个对象。您可以对该对象调用方法。