如何从两个编辑文本中获取所选数字值的总和

时间:2018-06-20 12:29:17

标签: java android calculator

我有两个editText,例如第一个编辑文本,我们正在输入一些数字,例如12324582...。在该值中,我们正在从第一个editText ...中搜索一个数字,即第二个editText ...,并且我有一个按钮和一个textView ...

每当我单击按钮时,结果将获得显示在文本视图中的搜索编号的总和。

例如:

EditText1 = 12345252(有3个2)

我要搜索2个号码

EditText2 = 2

每当我单击按钮时,textView就会显示数字6(2 + 2 + 2)。

2 个答案:

答案 0 :(得分:1)

我建议使用apache.common.lang中的StringUtils类。 您所需要做的就是对EditText1中EditText2中的出现次数进行计数。 因此,请使用此方法:

int count = StringUtils.countMatches(TextEdit1.getText(), TextEdit2.getText());

之后,在textView中设置文本,该文本乘以出现次数和EditText2中的数字

textView.setText(Integer.toString(count * Integer.parseInt(TextEdit2.getText()))

答案 1 :(得分:1)

尝试以下代码

public class MainActivity extends AppCompatActivity {


EditText edtInput, edtSearch, edtOutPut;
Button btnCalculate;
int lastIndex = 0;
int count = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    edtInput = (EditText) findViewById(R.id.edtInput);
    edtSearch = (EditText)findViewById(R.id.edtSearch);
    edtOutPut = (EditText)findViewById(R.id.edtOutPut);

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

    btnCalculate.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            count=0;
            lastIndex = 0;
            calculate();
        }
    });
}

private void calculate() {
    while(lastIndex != -1){

        lastIndex = edtInput.getText().toString().indexOf(edtSearch.getText().toString(),lastIndex);

        if(lastIndex != -1){
            count ++;
            lastIndex += edtSearch.getText().toString().length();
        }
    }
    edtOutPut.setText(""+(count*Integer.parseInt(edtSearch.getText().toString())));
}
}