所以我簡單的問題給大家的是,會有人能夠向我解釋的根本原因,以我爲什麼要分析在(字串[] args)一個說法?我對這個話題不是非常瞭解,並希望得到一些快速的幫助,這樣我就可以更好地理解事情。解析參數
謝謝!
所以我簡單的問題給大家的是,會有人能夠向我解釋的根本原因,以我爲什麼要分析在(字串[] args)一個說法?我對這個話題不是非常瞭解,並希望得到一些快速的幫助,這樣我就可以更好地理解事情。解析參數
謝謝!
你問爲什麼你會怎麼做呢?那麼,當有一個需要(或要求)做到這一點。如果您的應用程序應,例如,支持像-install
,-debug
或-foo -bar -quick -user=simpson -pass=bart
在Linux的方式ls
類似的論點支持像-R
遞歸和dir
爲「DOS」支持/S
遞歸參數。您希望「解析」這些論點(例如「看看他們,弄清楚他們的意思」),以使您的申請相應地執行。
Hi Rob。感謝您的解釋!因此,根據我對你的帖子的理解,字符串參數必須被解析,因此,比如說,在linux中,與應用程序一起調用一個標誌?喜歡說:java helloworld recursive = java helloworld -R?如果這沒有通過解析方法,遞歸「標誌」將不起作用? – 2012-04-05 17:09:31
我不能讓它變得比這更簡單:'args' string []被傳入main中是有原因的。當你(例如你的代碼)選擇忽略參數時,應用程序將如何受到這些參數的影響?這不像是一些神奇的東西,它知道像''/ FOO''或''-WhoopteeDoo''這樣的隨機字符串應該做什麼,並使您的應用程序相應地執行。這就像創建一個'返回7'的'sum(a,b)'函數。通過忽略參數,代碼不會做你想做的事情。你需要'返回a + b'。傳遞給main的args []也一樣。 – RobIII 2012-04-05 21:32:47
這是一個在Java命令行應用程序的工作非常方便的方式。例如,如果您想創建一個批處理文件來運行某個Java應用程序(也許它在您的計算機上設置郵件配置文件),則可以使用命令行參數來輸入甚至是標準操作系統值,例如用戶名,等
你需要做這一切的時候?哎呀不,但就像編程中的所有東西一樣,它是我們在適當時使用的工具。 :)
典型的程序使用命令行參數會,例如,測試,如果一個數是素數:
java mytools.IsPrime 1234567
或翻譯程序可以幫助找到一個翻譯:
java mytools.Translate Kindergarten
在Windows上,你可能很少使用的命令行,但如果你通過通過拖放文件的列表拖放到你的程序,操作系統將這種動作名稱的列表,這是傳遞給你的程序,這樣你就可以操作對他們:
java mytools.PrettyPrint PrettyPrint.java Translate.java IsPrime.java
什麼是「分析一個說法」是什麼意思? – 2012-04-05 00:27:32
這是'java.exe'命令行參數暴露給你的代碼的方式。 – ulmangt 2012-04-05 00:29:06