我正在編寫一個程序,它將兩個單詞作爲命令行參數,對它們執行某些操作並打印出結果。我在寫一個類來處理這個問題,我的問題是:在類中的方法之間傳遞兩個作爲命令行參數的單詞的最佳方式是什麼?爲什麼我不能在構造函數中用「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