dポイントプレゼントキャンペーン実施中!

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

A 回答 (2件)

String s;


if (args.length > 0) {
s = args[0];
} else {
s = "";
}
if (uwagaki.equals(s)) {
...
}
とすれば、OK。
    • good
    • 0
この回答へのお礼

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

お礼日時:2011/04/23 15:49

コマンドライン引数が何もない場合、argsは長さが0の配列になっているので、


>if (uwagaki.equals(args[0])){
とするとインデックス0の要素にアクセスできないためArrayIndexOutOfBoundsExceptionが発生してしまいます。
ですので、
if (args.length > 0 && "auau".equals(args[0])) {
というふうにargsの長さチェックを先に行えばいいと思います。
    • good
    • 0
この回答へのお礼

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

お礼日時:2011/04/23 15:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!