Javaで、コマンドライン引数に指定された全ての値の中から、floatとして扱える値の合計を求めたいです。
その為、たとえば下記の場合ですと、
Java
1public class Hoge { 2 public static void main(String[] args) { 3 float result = 0;//最終的にここに合計を代入 4 5 for(int i = 0; i < args.length; i++) { 6 float f = Float.parseFloat(args[i]); 7 8 result += f; 9 } 10 11 System.out.println(result); 12 13 } 14}
この場合、コマンドライン引数がfloatかどうかを判別していない為、long等の引数も合計してしまう事になってしまいます。
なので、
Java
1public class Y03 { 2 public static void main(String[] args) { 3 float result = 0; 4 5 for(int i = 0; i < args.length; i++) { 6 if( ??? ){ 7 float f = Float.parseFloat(args[i]); 8 result += f; 9 } 10 } 11 12 System.out.println(result); 13 14 } 15}
この様な形にして、???の部分でコマンドライン引数がfloatとして扱えるかどうかを判定してからresultへ代入したいのですが、その判定で使用すればよいものがわかりません…。
ifではなく、try - catchで例外処理をする方法もあるというのは聞いたことがあるのですが、皆目見当がつかない状態です。
情報不足で回答が出来ない等でしたら、補足で説明させて頂きたいと思いますので、お手数ですがどなたかご回答お願い致します。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/08/30 00:35 編集