从android中的数组中的文本字段存储数字输入

时间:2017-09-19 16:58:54

标签: android

我是android编程的新手。我制作统计应用程序,我想在其中计算平均值。

我必须从文本字段中的用户那里获取由(,)分隔的输入并存储在数组中。我怎么能这样做?

    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);
            }
        }
    });
}

2 个答案:

答案 0 :(得分: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

但请确保您在编辑文字中的输入为integerfloat值为,分隔。

答案 1 :(得分:0)

据我所知,你想计算平均值 例如:
输入: 10,20,30
期望输出: 10 + 20 + 30/3 = 40

如果是,那么您可以按照以下步骤操作 首先从EditText获取值并通过执行以下操作存储在数组中:

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

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

以上代码将使用拆分函数获取 values array 中的所有值。

然后运行一个循环来计算这样的意思:

//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).

就是这样!!