前提・実現したいこと
javaでboolean型を使いコマンドラインから名前と性別を受け取り、
名前と性別を表示するプログラムを作成したいです。
コマンドライン引数には,
args[0]に氏名、[1]にMまたはFが入っています。
【したい事】
boolean isMan = isMan(args[1]);の使い方を理解したい。
コマンドライン引数が0の時エラーが表示されないようにしたい。
該当のソースコード
java
1 public static void main(String[] args) { 2 //コマンドライン引数args[1]がMまたはFかどうが判別 3 if(args[1].equals("M") || args[1].equals("F")) { 4 5 //String型のargs[1]を引数とする 6 boolean isMan = isMan(args[1]); 7 //入れ子で場合分け 8 if(args[1].equals("M") ) { 9 out.println("氏名:" + args[0] + "、性別:" + "男性"); 10 // args[1]がMまたはF以外の場合、エラー表示 11 }else { 12 out.println("氏名:" + args[0] + "、性別:" + "女性"); 13 } 14 }else { 15 out.println("コマンドラインで、氏名と性別を引き渡してください。"); 16 } 17 } 18 //真偽値を返すisManメソッド(引数Stringに対して、戻り値true,falseを返す) 19 public static boolean isMan(String isMan) { 20 return isMan.equals("M"); 21 }
試したこと
コマンドライン引数が0の時、最初のif条件が原因でエラーが表示される。
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at check.java.Test11.main(Test11.java:14)
※14行目は最初のif文のところです。
回答1件
あなたの回答
tips
プレビュー