2012-04-05 24 views
1

誰もが簡単に質問できるので、(String [] args)で引数を解析する必要がある理由について、誰にも私に説明することができますか?私はこのトピックについてあまり知識がありませんし、いくつかの簡単な助けをしたいので、より良いことを理解することができます。構文解析の引数

ありがとうございました!

+0

"引数を解析する"とはどういう意味ですか? –

+0

これは、 'java.exe'のコマンドライン引数があなたのコードに公開される方法です。 – ulmangt

答えて

3

なぜとすればいいですか?さて、が必要な場合は、(または要件)が必要です。アプリケーションは、例えば、-install-debugまたはLinuxでの方法lsと同様に-foo -bar -quick -user=simpson -pass=bart

のような引数をサポートしなければならない場合は、再帰のための「ドス」のための再帰のための-Rdirサポート/Sのような引数をサポートしています。アプリケーションを適切に動作させるために、これらの引数を「解析する」(たとえば、「見てみよう」、「何を意味するのか理解する」)必要があります。

+0

こんにちは。説明ありがとう!だからあなたの記事で理解していることから、文字列の引数を解析する必要があります。たとえば、linuxでアプリケーションと一緒にフラグを呼び出すとしましょう。次のように言ってください:java helloworld recursive = java helloworld -R?これが解析メソッドによって実行されなかった場合、再帰的な "フラグ"は機能しませんでしたか? –

+0

私はそれをこれより簡単にすることはできません。なぜなら、 'args'文字列[]は理由のためにmainに渡されます。あなた(例えばあなたのコード)がargsを無視することを選択すると、アプリケーションはこれらの引数の影響をどのように受けますか? ''/FOO''や '' -WhoopteeDoo''のようなランダムな文字列があなたのアプリケーションを適切に動作させることを知っている魔法のようなものはありません。これは 'return 7'の本体を持つ' sum(a、b) '関数を作成するようなものです。引数を無視することによって、コードはあなたがしたいことをすることはありません。 'a + b'を返す必要があります。 args []がmainに渡された場合も同じです。 – RobIII

1

これは、javaのコマンドラインアプリケーションを操作する非常に便利な方法です。たとえば、Javaアプリケーションを実行するためにバッチファイルを作成したい場合(コンピュータ上にメールプロファイルを設定するなど)、コマンドライン引数を使用して、ユーザーの名前、

これはいつも行う必要がありますか?ヘック・ノーですが、プログラミングのすべてのものと同じように、それが適切なときに使用するツールです。 :)

0

コマンドライン引数を使用する典型的なプログラムはなり、例えば、テスト、数が素数である場合:

java mytools.IsPrime 1234567 

や翻訳プログラムは、翻訳を見つけるのを助けることができます:

java mytools.Translate Kindergarten 

Windowsでは、めったにコマンドラインを使用しない場合がありますが、プログラムにドラッグアンドドロップしてファイルのリストを渡すと、OSはプログラムに渡される名前のリストにこのアクションを変換しますその上に:

java mytools.PrettyPrint PrettyPrint.java Translate.java IsPrime.java