2016-05-08 9 views
-3

メソッドへのパラメータの受け渡しを理解していますが、文字列(通常の文字列配列の外側)など余分なものをどのように渡すことができないのか分かりません。Javaのメインにパラメータを渡す方法

私が持っている問題は、ファイルを見て、それから物事をし、その中に特定のテキストがあるかどうかを判断するパッケージがあることです。

他にも起こることがある場合。これらの他のものはすでにコード化した別のパッケージに含まれているだけです。必要なのは、パッケージAの文字列が、パッケージBのクラスの1つのメインメソッドに渡されるということだけです。渡す方法はわかりません。

public static void main(String[] args,String filename) 

しかし、それをどのように呼び出すのですか? main(filename)を渡すだけで、String [] argsがJVMから自動的に呼び出されるとしますか?

+3

明快にするために、 'main()'メソッドをオーバーロードしないでください。 'main()'メソッドは、コマンドラインから実行しているときに初期クラスを呼び出すためのものです。ほかのパラメータを使用して他の場所からロジックを呼び出す必要がある場合は、メソッドに別の名前を付けます。メソッド名には、それらが何をしているかを記述する必要 – Andreas

+0

私は既にプログラムを起動するパッケージにmainメソッドを持っていますが、私は別のMainを必要とせず、これをリネームできますか?おそらく私はメインが実際にしていることを誤解しているかもしれません –

+0

[The Java™Tutorials - "Hello World!アプリケーション](https://docs.oracle.com/javase/tutorial/getStarted/application/)を参照してください。 – Andreas

答えて

3

メインメソッドのString[]パラメータには、cmd.exeまたはBashからアプリを実行する場合に、アプリに渡すコマンドライン引数が含まれています。これは、コマンドライン引数を与えるの構文は次のとおりです。

java [name of the class that has the main method] [arguments] 

代わりの.classファイルの.jarファイルの場合:

java -jar [full path of the jar] [arguments] 

各引数はスペース(U + 0020)で分離されています。スペースを含む引数を作成するには、二重引用符で囲みます。例:任意のJavaアプリの主な方法は、正確に一つのパラメータが必要であることに

java Foo "this is one argument" 

注 - コマンドライン引数を保持しているString[]を。

関連する問題