2016-12-08 5 views
-2

私のリストは浮動小数点型であり、すべての値を浮動小数点として解析します。私は私のリストにこれらの5つの値を持っています。これらはすべて浮動体形式のものやt1、t2などの値を持つものがあります。リストからアンドロイドの平均を計算する

値が浮動小数点形式であるかどうかを確認する必要があります。このfloat形式を使用し、浮動小数点形式リスト。

ArrayList<Float> list = new ArrayList<Float>();  

String btn1 = t1.getText().toString(); 
String btn2 = t2.getText().toString(); 
String btn3 = t3.getText().toString(); 
String btn4 = t4.getText().toString(); 
String btn5 = t5.getText().toString(); 

float num1 = Float.parseFloat(btn1); 
float num2 = Float.parseFloat(btn2); 
float num3 = Float.parseFloat(btn3); 
float num4 = Float.parseFloat(btn4); 
float num5 = Float.parseFloat(btn5);  

list.add(num1); 
list.add(num2); 
list.add(num3); 
list.add(num4); 
list.add(num5); 
+0

問題はありませんでした。とにかく、Stringから浮動小数点数を解析しています。だからすべてが浮かびます。 – Vinodh

+0

コードブロックの前に問題文を移動しました。通常は、あるコンテキストでコードをダイジェストする方が簡単です。私はあなたのコードブロックの書式も整理しました。 Stack Overflowにコードを貼り付ける最も簡単な方法は、それを貼り付けてからそれを選択し、Ctrl + Kを押すか '{}'ボタンをクリックすることです。これはコードをさらに4つ分だけインデントします。これはSOにコードとして扱うよう指示します。 – Chris

答えて

0

あなたは、関数を使用することができます。

NumberUtils.isDecimal(str); 
    NumberUtils.isInteger(str); 

は、だからあなたの場合には、あなたがして、リストにすべての文字列を追加し、それを反復処理し、数字である要素のどれをチェックする必要があります。

int count = 0; 
Float sum = 0f; 
for(String str : stringList){ 
    if(NumberUtils.isDecimal(str) || NumberUtils.isInteger(str)){ 
     count++; 
     sum+= Float.parseFloat(str); 
    } 
} 
Float average = sum/count; 
+0

私はnumberutilsのこのライブラリをダウンロードする必要がありますか?パスを提供してください? – bilawal