在我的android代码中..我需要将一个数字的数字加在一起并检查该值是否等于数字13,14,16和19..所以该应用程序是关于数字命理学的,当用户输入他的名字时..每个字母的值在 1-9 之间,因此所有这些值都会被获取,并将这些值加在一起...并将检查该值是 13,14,16 还是 19..我在下面给出我的代码.. ..但是代码给出了一个数字..仅..
主要 Activity
long kar1 = 0;
kar1 = getKar1(et1.getText().toString();
private long getKar1(String text) {
// TODO Auto-generated method stub
long kar1 = 0;
char[] karmi1 = new char[text.length()];
karmi1 = text.toCharArray();
for(int i=0; i<text.length(); i++)
{
kar1 += value1( karmi1[i] );
}
while ((kar1!= 13)||(kar1!=14)||(kar1!=16)||(kar1!=19))
{
kar1 = findSum(kar1);
}
return kar1;
}
private int value1(char a)
{
// TODO Auto-generated method stub
switch(a)
{
case 'A':return 1;
case 'B':return 2;
case 'C':return 3;
case 'D':return 4;
case 'E':return 5;
case 'F':return 6;
case 'G':return 7;
case 'H':return 8;
case 'I':return 9;
case 'J':return 1;
case 'K':return 2;
case 'L':return 3;
case 'M':return 4;
case 'N':return 5;
case 'O':return 6;
case 'P':return 7;
case 'Q':return 8;
case 'R':return 9;
case 'S':return 1;
case 'T':return 2;
case 'U':return 3;
case 'V':return 4;
case 'W':return 5;
case 'X':return 6;
case 'Y':return 7;
case 'Z':return 8;
default: return 0;
}
}
private long findSum(long n)
{
// TODO Auto-generated method stub
int kar1 = 0;
while (n != 0)
{
kar1 += n % 10;
n = n / 10;
}
return kar1;
}
最佳答案
试试这个代码
使用这段代码获取数字的数字之和,然后检查 if 条件
String S=et1.getText().toString();
int i,a=0, sum=0;
i=Integer.parseInt(S);
while(i!=0)
{
a=i%10;
i=i/10;
sum=sum+a;
}
System.out.println(sum);
if(sum==13||sum==14||sum==16||sum==19)
{
System.out.println("match");
}
else
{
System.out.println("not match");
}
关于java - Android 将数字的数字相加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20627915/