计算缺失数量

我正在开发一个Android应用程序,这是一个数字命理应用程序。 其中计算名称的值是:

A,J,S – 1
B,K,T – 2
C,L,U – 3
D,M,V – 4
E,N,W – 5
F,O,X – 6
G,P,Y – 7
H,Q,Z – 8
我,R – 9。

这是每个字母的值。 当用户输入名称时,将计算其值并显示结果。 我开发了用于计算值的代码。 但现在我需要计算缺失的数字。 例如我的名字是ROSHAN ,我的值是R - 9, O - 6, S - 1, H - 8, A - 1, N - 5 。 因此,当我计算所有这些值时, 9+6+1+8+1+5 = 30 = 3+ 0 = 3 。 所以我的价值是三。 我为此做了代码。

我正在开发代码,用于查找丢失数字的数量,例如在我的名字中缺少的数字是2,3,4,7所以缺少数字的数量在4中。任何人都可以帮助我吗? 我提供了迄今为止开发的代码。

Mainactivity.java

 long sum70 = 0; long sum80 = 0; long sum90 = 0 sum70 = getsum70(et7.getText().toString()); sum80 = getSum80(et8.getText().toString()); sum90 = getSum90(et9.getText().toString()); private long getsum70(String text) { // TODO Auto-generated method stub long sum70 = 0; char[] name70 = new char[text.length()]; name70 = text.toCharArray(); for(int i=0; i9 ) { sum70 = findDigitSum70(sum70); } return sum70; } private long value70(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 findDigitSum70(long n) { // TODO Auto-generated method stub int sum70=0; while (n != 0) { sum70 += n % 10; n = n / 10; } return sum70; } 

如果使用int数组,则可以更轻松地解决此问题。

 int[] points = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; 

这个数组的索引是每个点。 例如,如果你得到字符“R”,则将1添加到点[9]。 如果你得到字符’O’,加1到点[6]。

如果输入名称,则数组中的值将如下所示。

[0,1,2,3,4,5,6,7,8,9] – 指数

{0,2,0,0,0,1,1,0,1,1} – 值

如果value为0,则该值的索引将缺少数字。 总点数将是每个[指数*值]的总和。

不是保持开关情况,最好将每个字符的值存储在26个元素的数组中。

在这种情况下,您可以迭代该数组并将该元素添加到两个临时数组中的任何一个 – valuesFoundInNameArray和ValuesNotFoundInTheNameArray