android edittext 获取前两个输入值的总和

android edittext get first two input value's sum

我有一个编辑文本,例如我输入了 12345。我想检查前两个数字的总和是否 >0 然后做一些事情。我不知道如何检查前两个元素的总和。

if(pirinfouserid.getText().toString().indexOf(2)>0)
        Toast.makeText(getApplicationContext(), "ok",
                Toast.LENGTH_SHORT).show();
    else
        Toast.makeText(getApplicationContext(), "wrong",
                Toast.LENGTH_SHORT).show();

如果有人知道解决办法请帮帮我

谢谢

String input = pirinifouserid.getText().toString();

int firstNumber = Integer.parseInt(input.substring(0,1));
int secondNumber = Integer.parseInt(input.substring(1,2));
int sum = firstNumber + secondNumber;

if (sum > 0) ...
int num1=Integer.parseInt(pirinfouserid.getText().toString().charAt(0));
int num2=Integer.parseInt(pirinfouserid.getText().toString().charAt(1));
int sum=num1+num2;
if(sum>0)
    Toast.makeText(getApplicationContext(), "ok",
            Toast.LENGTH_SHORT).show();
else
    Toast.makeText(getApplicationContext(), "wrong",
            Toast.LENGTH_SHORT).show();

首先从用户输入的字符串中获取前两个字符:

String firstTwoDigit = s.substring(0, 
                  Math.min(pirinfouserid.getText().toString().length(), 1));

现在使用 Find Sum of Digits in Java Algorithm 求两位数的和:

// Parse String to Integer 
int sum = 0;
int digits = Integer.parseInt(firstTwoDigit);
while (digits != 0) {
 int lastdigit = digits % 10;
 sum += lastdigit;
 digits /= 10;
}
if(sum>0){
  // do your work
}else{
  // do your work
}

使用这种方式,您可以将数字求和逻辑与其他代码分开,稍后您可以参数化这些代码以查找更多数字的总和。

在使用 String.substringInteger.parseInt 之前还要添加 nulllength 检查 String

请在线查找相关评论

String input = pirinifouserid.getText().toString();
if(input.length()>2){
    try{
        int num1= Integer.parseInt(input.indexOf(0)); // Handle NumberFormatException
        int num2= Integer.parseInt(input.indexOf(1));// Handle NumberFormatException
        int sum = num1 + nm2;
        if (sum > 0){
            Toast.makeText(getApplicationContext(), "ok",
                Toast.LENGTH_SHORT).show();
        }else{
            Toast.makeText(getApplicationContext(), "wrong",
                Toast.LENGTH_SHORT).show();
        }
    }catch (NumberFormatException e){ 
        // DO what you think is correct. Probably show an error message 
    }
}