如何在android中计算平均值?

如何在android中计算平均值?,android,average,calculator,Android,Average,Calculator,我在应用程序中创建了几个EditText字段和一个按钮。如果在第一个和第二个EditText字段中输入值,当按下按钮时,第三个EditText字段将显示您输入的两个值的总和。这很好,但我想计算一个平均值。我的意思是,如果我有4个EditText字段,我想在其中3个(或更少)字段中输入值,第4个字段显示从总和除以输入值的数量计算的平均值。示例:第一个值:2,第二个值:4,平均值=2+4=6/2=3。我想创建一个案例,当一个或多个EditText字段未输入时,应用程序仍然可以计算平均值。希望你明白我

我在应用程序中创建了几个EditText字段和一个按钮。如果在第一个和第二个EditText字段中输入值,当按下按钮时,第三个EditText字段将显示您输入的两个值的总和。这很好,但我想计算一个平均值。我的意思是,如果我有4个EditText字段,我想在其中3个(或更少)字段中输入值,第4个字段显示从总和除以输入值的数量计算的平均值。示例:第一个值:2,第二个值:4,平均值=2+4=6/2=3。我想创建一个案例,当一个或多个EditText字段未输入时,应用程序仍然可以计算平均值。希望你明白我想要什么。谢谢

这是我的:

Medii.java:

    package com.cngcnasaud.orar;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.*;

public class Medii extends Activity {

    EditText txtNum1;
    EditText txtNum2;
    EditText txtTotal;
    Button btnCompute;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.medii);

        txtNum1 = (EditText) findViewById(R.id.editText1);
        txtNum2 = (EditText) findViewById(R.id.editText2);
        txtTotal = (EditText) findViewById(R.id.editText3);
        btnCompute = (Button) findViewById(R.id.bmedii);

        btnCompute.setOnClickListener(new ClickButton ());

    }


    private class ClickButton implements Button.OnClickListener{

        @Override
        public void onClick(View v) {

            int x = Integer.parseInt(txtNum1.getText().toString());
            int y = Integer.parseInt(txtNum2.getText().toString());

            int total = (x + y)/2;

            txtTotal.setText(Integer.toString(total));

        }


    }





}

计算有多少字段不是空的,然后将总数除以该数字。在使用Integer.parseInt之前,最好先检查是否为空或不可解析。:)

如果我没弄错你的问题,你有3条编辑文本,第4条应该显示平均值。我还没有测试过,所以可能有一些拼写错误

String et1 = editText1.getText().toString();


String et2 = editText2.getText().toString();
String et3 = editText3.getText().toString();
int num1 = Integer.parseInt(et1);
 int num2 = Integer.parseInt(et2);
int num3 = Integer.parseInt(et3);
int calculate = num1 + num2 + num3/3;


 int result = calculate;

editText4.setText(" " + result);

如果我是你,我会做一些不同的事情:

一个编辑文本和两个按钮:添加数字和计算

每次点击addnumber时,捕获并将其放在一个数组中

当您点击Calculate时,执行一个循环,将变量中的整数相加,然后作为sum_variable/array.lenght进行平均

通过这种方式,您可以对无限数求和,而无需创建静态数量的字段

祝你好运

编辑:遵循代码:

public class MainActivity extends Activity {

public static ArrayList<String> num = new ArrayList<String>();
double sum, res;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    final EditText editTextNum = (EditText)findViewById(R.id.editTextNum);
    Button buttonAdd = (Button)findViewById(R.id.buttonAdd);
    Button buttonCalc = (Button)findViewById(R.id.buttonCalc);
    final TextView textViewRes = (TextView)findViewById(R.id.textViewRes);

    buttonAdd.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
             String numCatch=editTextNum.getText().toString().trim();
                if(numCatch.length() != 0){
                       num.add(numCatch);
                    editTextNum.setText("");
                }
                textViewRes.setText("The average is ");
        }
    });

    buttonCalc.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View arg0) {
            DecimalFormat format = new DecimalFormat("#.##");
            for(int i=0;i<num.size();i++){
                sum = Integer.parseInt(num.get(i)) + sum;
            }
            res = sum/num.size();
            textViewRes.setText("The average is "+format.format(res));
            res = 0;
            sum = 0;
            num.clear();
        }
    });
}
公共类MainActivity扩展活动{
public static ArrayList num=new ArrayList();
双和,res;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final EditText editTextNum=(EditText)findViewById(R.id.editTextNum);
Button ButtonAd=(Button)findViewById(R.id.ButtonAd);
Button buttonCalc=(Button)findViewById(R.id.buttonCalc);
最终TextView textViewRes=(TextView)findViewById(R.id.textViewRes);
setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图arg0){
字符串numCatch=editTextNum.getText().toString().trim();
如果(numCatch.length()!=0){
num.add(numCatch);
editTextNum.setText(“”);
}
textViewRes.setText(“平均值为”);
}
});
setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图arg0){
DecimalFormat=新的DecimalFormat(“#.###”);

对于(int i=0;我曾经尝试过我发布的内容。我知道如何进行求和和,但我不知道如何整合使用enter的值的数量。我知道应该如何做,以及其中的内容,但问题在于代码。你能帮我一点忙吗?txtNum1.getText().toString()是字符串。您可以使用isEmpty()检查它是否为空。每次你发现一个不是空的字符串时,将一个字符串添加到计数器,然后将总和除以计数器。尝试编写代码,发布它,如果它不起作用,请告诉我们发生了什么。你让我从第一行就迷路了。你能不能给我一个我自己的例子?请从第一行开始尝试?我无法想象我应该怎么做。我更新了我的第一篇文章。如何让我的应用程序检测填充了多少文本字段,然后除以检测到的数字?平均值现在运行良好。谢谢!很高兴听到它对您起作用。我强烈建议您在线学习一些基本Java教程(这是一个不错的开始)了解一下Java中的对象以及它们倾向于使用的方法的种类。否则,你会经常感到沮丧(这对你来说并不有趣),你会经常要求别人为你编写代码(这对其他人来说都不有趣),当出现问题时,你将不知道该怎么办(这对任何人来说都不好玩。)我使用了你的想法,我发现了如何计算平均值。它工作得很好,但前提是我填充所有文本字段,并且它除以所有文本字段的数量,所以我的应用程序不会检测填充的数量以及数字应该如何除以。有什么想法吗?我更新了我的第一篇文章。非常感谢!!!你可以检查是否满足条件以进行搜索e如果edittext为空或不为空。((et1.length()==0)和&&(et2.length()>0)和&(et3.length()>0)){//这里,如果edittext1为空且editText2和3不为空,则int calculate=num2+num3/2;}我刚刚修改了上面的代码。然后你可以用if语句检查et1和et2是否为空,et3是否为空,应用相同的公式。希望它能帮助Syes,它能帮助我对此有一个想法。谢谢!我会把代码放在我的答案上。你只需要用一个EditText、两个按钮和一个TextView构建一个视图,研究代码,祝你好运!