0

配列の値を追加するプログラムを作成しています。私の入力は次のようになります...

たとえば、次のように入力します:

10-20,20-30,30-40

ループし、計算はこのようになります..
(10+20)+(20+30)+( 30+40)

私はこれをどのように行うかを考えるのに苦労しています..助けてください..ありがとう.



ここに私のコードがあります:

   final AutoCompleteTextView interval_Values = (AutoCompleteTextView) findViewById(R.id.interval_Values);
   final TextView txtArithmetc = (TextView) findViewById(R.id.txtArithmetic);

    Button btncalculate = (Button) findViewById(R.id.btncalculate);
    btncalculate.setOnClickListener(new OnClickListener(){

        @Override
                public void onClick(View v) {
            String[]x_value = interval_Values.getText().toString().split("-");
            double[]value = new double[x_value.length];
            String[]weight_value =interval_Values.getText().toString().split(",");
            double[]value1 = new double[weight_value.length];

              double sum = 0;
              double sum1=0;
              double result=0;

              for(int i = 0; i < x_value.length; i++) { 
                  value[i] = Double.parseDouble(x_value[i]);
                  sum+=value[i];

                  for(int a = 0; a < weight_value.length; a++) {
                  value1[a] = Double.parseDouble(weight_value[i]);
                     sum1+=value1[a];
                  }

                result+= sum+sum1;

          }

           txtArithmetic.setText(Double.toString(result));<br/>
4

1 に答える 1

0

私が見ている方法は、基本的に入力されたすべての数字を足し合わせているだけです。

(10+20)+(20+30)+(30+40)

と同じです

(10+20+20+30+30+40)

つまり、最初にやりたいことは、価値観を分割することです。値の文字列、input、および配列 valArray が与えられた場合、以下に、何をしたいのかについての一般的なアイデアを与える簡単なコードをいくつか書きました。

input = input.replace(",", "-");
double sum = 0.0;
String[] arrValue = input.split(",");
for(int i = 0; i < arrValue.length; i++)
{
      sum += (Double.parseDouble(arrValue[i]);
}
return sum;

つまり、基本的に足し算しかしていないので、必要なのは各値を区切るものだけです。各値が分離されたら、分割を使用して配列に移動できます。値が配列に入ったら、配列をループして各数値を追加し (double に解析)、合計が残ります。

これがあなたが探していたものであったことを願っています。私には完全に明確ではありませんでしたが、これは多かれ少なかれあなたが望んでいたものでした.

于 2013-09-19T22:01:06.667 に答える