• ベストアンサー

JAVAのコマンドラインについて

コマンドラインで-sを入れた時に String uwagaki = "-s" if (uwagaki.equals(args[0])) とこうしてコマンドラインで入れたのは-sなのかifで確認しています。 しかし、コマンドラインを入力しないとエラーが起こってしまいます。 どのように対処したらいいでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • morchin
  • ベストアンサー率16% (212/1281)
回答No.2

String s; if (args.length > 0) { s = args[0]; } else { s = ""; } if (uwagaki.equals(s)) { ... } とすれば、OK。

momonyoki
質問者

お礼

おかげさまでエラーがでなくなりました!ありがとうございます

その他の回答 (1)

  • yamada_g
  • ベストアンサー率68% (258/374)
回答No.1

コマンドライン引数が何もない場合、argsは長さが0の配列になっているので、 >if (uwagaki.equals(args[0])){ とするとインデックス0の要素にアクセスできないためArrayIndexOutOfBoundsExceptionが発生してしまいます。 ですので、 if (args.length > 0 && "auau".equals(args[0])) { というふうにargsの長さチェックを先に行えばいいと思います。

momonyoki
質問者

お礼

そういうやりかたもあるんですね!とても参考になりました