我正在编写一个程序,它将两个单词作为命令行参数,对它们执行某些操作并打印出结果。我在写一个类来处理这个问题,我的问题是:在类中的方法之间传递两个作为命令行参数的单词的最佳方式是什么?为什么我不能在构造函数中用“args”使用通常的“this.variable =”?Java将命令行参数传递给方法
3
A
回答
7
可以,如果你通过args
的构造器:
public class Program
{
private String foo;
private String bar;
public static void main(String[] args)
{
Program program = new Program(args);
program.run();
}
private Program(String[] args)
{
this.foo = args[0];
this.bar = args[1];
// etc
}
private void run()
{
// whatever
}
}
1
如果你希望一些参数可以在命令行上传递,可以让事情变得更强大,检查它们是否确实传递。然后,将args
数组或其值传递给构造函数。类似这样的:
public class App {
private final String arg0;
private final String arg1;
public static void main(String[] args) {
if (args.length < 2) {
System.out.println("arguments must be supplied");
System.out.println("Usage: java App <arg0> <arg1>");
System.exit(1);
}
// optionally, check that there are exactly 2 arguments
if (args.length > 2) {
System.out.println("too many arguments");
System.out.println("Usage: java App <arg0> <arg1>");
System.exit(1);
}
new App(args[0], args[1]).echo();
}
public App(String arg0, String arg1) {
this.arg0 = arg0;
this.arg1 = arg1;
}
public void echo() {
System.out.println(arg0);
System.out.println(arg1);
}
}
+0
+1让用户知道命令行参数的用法。我还没有看到许多程序员正在这样做。尽管这篇文章很老,但我喜欢你处理CLA的方式。从你身上学到了一些东西。 :) – Saad 2017-03-28 00:01:00
相关问题
- 1. 如何将Scala命令行参数传递给Java方法?
- 2. 将参数传递给winscp.com命令行
- 3. 将命令行参数传递给QPython
- 4. 将命令行参数传递给nightwatch.runner
- 5. 如何运行一个Java程序将命令行参数传递给方法?
- 6. 将参数传递给Java方法
- 7. 将命令行unicode参数传递给Java代码
- 8. 如何将ant命令行参数传递给ant java项目?
- 9. 将命令行参数传递给jvm(java)mapper任务
- 10. 将命令行参数传递给bash脚本命令
- 11. 将参数传递给命令模式
- 12. 将参数传递给sed命令
- 13. 传递数组通过方法(java命令行参数)
- 14. Linux:如何将命令行参数传递给传递给脚本的命令行参数?
- 15. 无法将命令行参数传递给批处理文件
- 16. 无法将值从命令行传递给对象 - Powershell参数
- 17. 有没有办法将命令行参数传递给spec/rspec?
- 18. 传递命令行java程序参数
- 19. 以编程方式将命令行参数传递给java窗口服务
- 20. 传递命令行参数
- 21. 传递命令行参数
- 22. 命令行参数传递
- 23. 传递命令行参数
- 24. 传递命令行参数
- 25. 将命令行参数传递给可运行的JAR
- 26. 从命令行将参数传递给可执行文件
- 27. 如何将命令行参数传递给BBEdit进行测试
- 28. 如何通过java将参数传递给shell命令?
- 29. 将参数传递给Bash命令行中的函数
- 30. 将命令行参数传递给函数
谢谢!我是一个带有命令行参数的初学者。 – rize 2009-10-31 11:12:35
这太可爱了:) +1对于 – 2009-10-31 11:39:17
我得到了'方法run()未定义类型Program'。在不同版本的Java中可能会有所不同?我正在使用Java 5. – rize 2009-10-31 11:46:34