繁体   English   中英

Android如何为计算数字总和的程序设置结果的最大限制?

[英]Android how to set max limit on results for program that calculates sum of numbers?

我编写了一个程序来计算用户输入的 4 个输入值的总和。

我想将结果限制为最大值 6(任何结果 >6 返回值“6”)。

例如,如果 4 个数字的总和为 10,那么它将自动更改为 6。

Java代码是:

EditText editText3;
EditText editText4;
EditText editText6;
EditText editText8;
TextView textViewResult;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    setContentView(R.layout.calculator);

    editText3 = (EditText) findViewById(R.id.editText3);
    editText4 = (EditText) findViewById(R.id.editText4);
    editText6 = (EditText) findViewById(R.id.editText6);
    editText8 = (EditText) findViewById(R.id.editText8);
    textViewResult = (TextView) findViewById(R.id.textViewResult);

    editText3.addTextChangedListener(new TextWatcher() {

        public void beforeTextChanged(CharSequence s, int start, int count,
                                      int after) {
            // TODO Auto-generated method stub
        }

        public void onTextChanged(CharSequence s, int start, int before,
                                  int count) {
            textViewResult.setText(addNumbers());
        }

        public void afterTextChanged(Editable s) {
            // TODO Auto-generated method stub
        }
    });

    editText4.addTextChangedListener(new TextWatcher() {

        public void beforeTextChanged(CharSequence s, int start, int count,
                                      int after) {
            // TODO Auto-generated method stub

        }

        public void onTextChanged(CharSequence s, int start, int before,
                                  int count) {
            textViewResult.setText(addNumbers());

        }

        public void afterTextChanged(Editable s) {
            // TODO Auto-generated method stub

        }
    });

    editText6.addTextChangedListener(new TextWatcher() {

        public void beforeTextChanged(CharSequence s, int start, int count,
                                      int after) {
            // TODO Auto-generated method stub

        }

        public void onTextChanged(CharSequence s, int start, int before,
                                  int count) {
            textViewResult.setText(addNumbers());

        }

        public void afterTextChanged(Editable s) {
            // TODO Auto-generated method stub

        }
    });

    editText8.addTextChangedListener(new TextWatcher() {

        public void beforeTextChanged(CharSequence s, int start, int count,
                                      int after) {
            // TODO Auto-generated method stub

        }

        public void onTextChanged(CharSequence s, int start, int before,
                                  int count) {
            textViewResult.setText(addNumbers());

        }

        public void afterTextChanged(Editable s) {
            // TODO Auto-generated method stub

        }
    });
}

private String addNumbers() {
    int number1;
    int number2;
    int number3;
    int number4;
    if(editText3.getText().toString() != "" && editText3.getText().length() > 0) {
        number1 = Integer.parseInt(editText3.getText().toString());
    } else {
        number1 = 0;
    }
    if(editText4.getText().toString() != "" && editText4.getText().length() > 0) {
        number2 = Integer.parseInt(editText4.getText().toString());
    } else {
        number2 = 0;
    }
    if(editText6.getText().toString() != "" && editText6.getText().length() > 0) {
        number3 = Integer.parseInt(editText6.getText().toString());
    } else {
        number3 = 0;
    }
    if(editText8.getText().toString() != "" && editText8.getText().length() > 0) {
        number4 = Integer.parseInt(editText8.getText().toString());
    } else {
        number4 = 0;
    }

    return Integer.toString((number1*2) + (number2*4) + (number3*2) + (number4*2));

}
}

更改:“ return Integer.toString((number1*2) + (number2*4) + (number3*2) + (number4*2)); ”到这个:

int sum = (number1*2) + (number2*4) + (number3*2) + (number4*2);
if(sum>6) sum = 6;
return sum+"";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM