来自EditTexts的平均值

时间:2014-08-23 15:02:01

标签: android android-edittext

在我的活动中,有两个按钮:一个用于向ListView添加项目,ListView由EditText(用户输入十进制数字)和另一个(将开始计算)形成。目标是计算在EditTexts中输入的数字的平均值,具体取决于添加到ListView的项目数。

我有以下代码,我想我可能会创建子项的数量,然后将孩子的添加分开,但我已经阅读了很多类似的例子,我不知道该怎么做。

以下是代码:

void addNumberFromText()
{
    double total=0;
    for(int i=0;i<MarkListView.getChildCount();i++)
    {
        View wantedView = MarkListView.getChildAt(i);
        markresult = (TextView)wantedView.findViewById(R.id.subjectmark);
        double value=Double.parseDouble(markresult.getText().toString());
        total+=value;

    }

    markresult1 = (TextView)findViewById(R.id.average);
    markresult1.setText(Double.toString(total));
    markresult1.setText(String.format("%.2f", total));
}

感谢您的帮助,谢谢!

2 个答案:

答案 0 :(得分:1)

我有解决方案!我补充说:averagevalue = total / MarkListView.getChildCount();这是孩子的数量。

void addNumberFromText()
{
    double total=0;
    double averagevalue=0;
    for(int i=0;i<MarkListView.getChildCount();i++)
    {
        View wantedView = MarkListView.getChildAt(i);
        markresult = (TextView)wantedView.findViewById(R.id.subjectmark);
        double value=Double.parseDouble(markresult.getText().toString());
        total+=value;
        averagevalue=total/MarkListView.getChildCount();

    }

    markresult1 = (TextView)findViewById(R.id.average);
    markresult1.setText(Double.toString(averagevalue));
    markresult1.setText(String.format("%.2f", averagevalue));

感谢您的回复,所有内容都相似且正确。谢谢!

答案 1 :(得分:0)

从您的代码中,您似乎没有像您说的那样计算平均值。您计算了总数,但忘记通过将总数除以总列表项来计算平均值。希望能帮助到你。