「a」が最初の文字列引数として入力されたかどうかを検出しようとしています。
public class YourClass {
public static void main(String[] args) {
if (args.length > 0 && args[0].equals("a")){
//...
}
}
}
単一の引数を超えて拡張する場合は、 Apache commons cli を使用します。
「Apache Commons CLIライブラリは、プログラムに渡されるコマンドラインオプションを解析するためのAPIを提供します。コマンドラインツールで使用可能なオプションの詳細を示すヘルプメッセージを出力することもできます。」
Commons CLIは、さまざまなタイプのオプションをサポートしています。
すべてのJavaプログラムは
_public static void main(String[] args) {
_
String
型の配列は、main()
がパラメーターとして使用し、プログラムへのコマンドライン引数を保持します。ユーザーがプログラムを次のように実行する場合
_$ Java myProgram a
_
_args[0]
_は文字列「a」を保持します。
コマンドライン引数は、最初の_String[]
_パラメーターでmain()
に渡されます。
_public static void main( String[] args ) {
}
_
上記の例では、args
にはすべてのコマンドライン引数が含まれています。
提起された質問に対する短い、甘い答えは次のとおりです。
_public static void main( String[] args ) {
if( args.length > 0 && args[0].equals( "a" ) ) {
// first argument is "a"
} else {
// oh noes!?
}
}
_
コマンドライン引数は、main
メソッドのString[] args
パラメーターを介してアクセスできます。
最初の引数では、args[0]
を確認できます
コード全体は次のようになります
public static void main(String[] args) {
if ("a".equals(args[0])) {
// do something
}
}
main
メソッドにはString[]
引数。これには、アプリケーションに渡された引数が含まれます(多くの場合、args
と呼ばれますが、これは必須ではありません)。
値aを渡し、次のようなequalsメソッドを使用して比較してみてください。
public static void main(String str[]) {
boolean b = str[0].equals("a");
System.out.println(b);
}
Javaのコマンドライン引数 の詳細については、このリンクを参照してください
他のみんなが言っているように... .equalsメソッドが必要です。
偶然にあなたは次のようなものを使用しました:
if(argv[0] == "a")
==は内容(論理的等価性)ではなく2つのオブジェクトの位置(物理的等価性)を比較するため、機能しません。
コマンドラインの「a」とプログラムのソースの「a」は2つの異なる場所に割り当てられているため、==は使用できません。 equalsメソッドを使用して、両方の文字列が同じ文字を持っていることを確認する必要があります。
別の注意...「a」==「a」は多くの場合機能します。これは、ストリングがJavaで特別であるためです。ただし、.equalsを使用したい時間の99.99999999999999%です。
コマンドライン引数は、文字列としてString
配列String[] args that is passed to
main() `に保存されます。
Java [program name] [arg1,arg2 ,..]
コマンドライン引数は、プログラムの実行中にコマンドプロンプトから受け付ける入力です。渡される引数は何でもかまいません。 args[]
配列に保存されます。
//Display all command line information
class ArgDemo{
public static void main(String args[]){
System.out.println("there are "+args.length+"command-line arguments.");
for(int i=0;i<args.length;i++)
System.out.println("args["+i+"]:"+args[i]);
}
}
例:
Java Argdemo one two
出力は次のようになります。
there are 2 command line arguments:
they are:
arg[0]:one
arg[1]:two