Java android edittext获取前两个输入值';总和
我有一个edittext,例如,我把它放在12345中。我想检查前两个数字的和是否大于0,然后做些什么。我不知道如何检查前两个元素的和Java android edittext获取前两个输入值';总和,java,android,android-edittext,Java,Android,Android Edittext,我有一个edittext,例如,我把它放在12345中。我想检查前两个数字的和是否大于0,然后做些什么。我不知道如何检查前两个元素的和 if(pirinfouserid.getText().toString().indexOf(2)>0) Toast.makeText(getApplicationContext(), "ok", Toast.LENGTH_SHORT).show(); else Toast.makeTe
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 firstTwoDigit = s.substring(0,
Math.min(pirinfouserid.getText().toString().length(), 1));
现在使用以下公式获得两位数的和:
使用这种方法,您将数字和逻辑与其他代码分离,稍后可以对这些代码进行参数化,以查找更多数字的和
在使用
String.substring
和Integer.parseInt
之前,还要添加null
和length
检查字符串请在线查找相关注释
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
}
}
您在获取editText的文本或将其转换为数字时有问题吗?我不知道如何将前两个元素@theface求和。我的代码错误。我不知道解决方案请澄清您的问题。您实际想要做什么。例如,在“12345”中,您想要求和“1”+“2”?检查Brovoker的答案。如果您想要添加一个
IndexOutOfBoundsException
处理substring
方法的行,它将起作用。@Brovoker谢谢,但例如,我输入了1234567898765等,以及如何求最后7个元素的和?如果输入为“1”(一位数)。IndexOf方法返回找到的元素的索引,而不是给定索引处的元素,我想您应该使用CharacterSorry来纠正错误。我已经做了更改。谢谢,但是我在这一行有syntacs错误int num2=Integer.parseInt(input.indexOf(1))@赫佩斯
String firstTwoDigit = s.substring(0,
Math.min(pirinfouserid.getText().toString().length(), 1));
// 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 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
}
}