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)

所以说你首先要做的是分裂你的价值观。给定一串值、输入和一个数组 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;

所以基本上,因为你只是在做加法,所以你需要的只是分隔每个值。将每个值分开后,您可以使用拆分将其移动到数组中。一旦值在数组中,您可以循环遍历数组,添加每个数字(将其解析为双精度数),然后剩下总和。

我希望这是您正在寻找的东西,对我来说并不太清楚,但这似乎或多或少是您想要的。

于 2013-09-19T22:01:06.667 回答