2017-09-19 13 views
0

私はアンドロイドプログラミングでは新しいです。私はこのために平均を計算したい統計アプリケーションを作っています。テキストフィールドの数値入力をアンドロイドで配列に格納する

テキストフィールドの入力を(、)で区切って配列に格納する必要があります。これどうやってするの?

protected void onCreate(Bundle savedInstanceState) 
    { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    et_ans=(TextView) findViewById(R.id.et_ans); 
    b_mean=(Button) findViewById(R.id.b_mean) ; 

    b_mean.setOnClickListener(new View.OnClickListener(){ 
     @Override 
     public void onClick(View v) { 
      String input = et_input.getText().toString(); 
      int Length = Integer.parseInt(input); 
      int arr[] = new int[Length]; 

      int sum = 0; 
      for (int i = 0; i < arr.length; i++) { 
       sum += arr[i]; 
       et_ans.setText(sum); 
      } 
     } 
    }); 
} 
+0

これを行うには多くの方法がありますが、最も簡単で、分割して、次に1つずつ解析します –

答えて

0

試し

String s = et_input.getText().toString(); 
        String[] spitString = s.split(","); 
        float total = 0; 

        for (int i = 0; i < spitString.length; i++) { 
         total = total + Float.parseFloat(spitString[i]); 
        } 
        float mean = total/spitString.length; // your mean value 

を以下しかし、エディットテキストの入力内容を分離、float値で、integerであることを確認してください。

+0

はうまくいきますか? –

0

私が理解できるように、平均を計算したいと思います。例えば

入力: 10,20,30
所望の出力: 10 + 20 + 3分の30 = 40

はい、あなたは以下の手順で行うことができます。
まず第一に、これを行うことにより、アレイ内EditTextや店舗からの値を取る:

b_mean=(Button) findViewById(R.id.b_mean); 

//Do this in onClickListener. 
String[] values=b_mean.getText.toString().split(','); 

この上記のコードは、スプリット機能を使って、値配列内のすべての値を取得します。

は、このように意味を計算するループを実行します。それ

//Do this in onClickListener. 
float sum = 0; 

for (int i = 0; i < values.length; i++) { 
       sum += Float.parseFloat(arr[i]);  
    } 
float mean =sum/values.length; 
et_ans.setText(mean+""); 

//This [""] used to convert float value into string. you can either use String.valueOf(mean). 

だそれ!

関連する問題