如何将EditText放入数组?

时间:2016-02-19 22:25:20

标签: java android arrays

我想使用逗号或空格分隔的数字并返回统计信息,例如均值中位模式std dev等。我将如何制作数组并在使用输入后使用数组的内容并进行简单的统计如何计算?我现在正在开发android新手,所以我对所有不同的方法都不太熟悉。不,这不是任何功课或家庭作业,我做了一个应用程序,这是证明:https://goo.gl/9mt4ql

package erm.customcalculator.fragments;

        import android.os.Bundle;
        import android.view.LayoutInflater;
        import android.view.View;
        import android.view.ViewGroup;
        import android.widget.EditText;
        //import java.lang.*;
        import erm.customcalculator.R;


public class StatsFragment extends CalcBase {

    EditText etnums;
    double nums;
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View v = GatherViews(inflater, container);


        return v;
    }

    private View GatherViews(LayoutInflater inflater, ViewGroup container) {
        View v = inflater.inflate(R.layout.fragment_standard_error, container,
                false);
        etnums = (EditText)v.findViewById(R.id.value_p);
        return v;
    }

    @Override
    public String getNameOfCalculation() {
        return getString(R.string.standard_error);
    }

    @Override
    public void clearPage() {
        etnums.setText("");

    }


    @Override
    public String returnMessageIfBadFormData() {
        if(isEmpty(etnums)){
            return "All values required for computation";
        } else {
            nums = getDouble(etnums);

            return "";
        }
    }

    @Override
    public String calculate() throws Exception {

        double total = 0;
        double var = 0;
        for (double element : nums){
            total = total + element;
            double average = total / element;
        }

        double sum = total;

        for (double element : nums) {
            double average = total / element;
            var += (Math.pow((element - average), 2) / element);

        }

        double std_dev = Math.pow(var, 0.5);
        double average = total / element;

        return String.valueOf("Sum: " + sum +
                "Mean: " + average +
                "Standard Deviation: " + std_dev +
                "Variance: " + var);
    }
}

1 个答案:

答案 0 :(得分:1)

EditText包含CharSequence,您可以将其转换为String。然后,您需要将String解析为您希望的任何表示形式。例如,如果数字以逗号分隔,则可以使用String.split()来获取逗号之间的标记。然后使用Integer.valueOf()Double.valueOf()获取可用于计算的数值。