在我的android代碼..我需要添加一個數字的數字在一起,並檢查值是否等於數字13,14,16和19 ..所以該應用程序是關於命理當用戶輸入他的名字時,每個字母的值都在1-9之間,因此所有這些值都被採集並且值被加在一起...並且將檢查值是13,14,16還是19 .. I我給我下面的代碼...但代碼..only給一個單一的數字..Android的數字加在一起的數字
mainactivity
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;
}
試着用調試器跟蹤你的代碼,你會立即看到它出錯的地方。 – Egor