我正在开发一个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 I,R‘9。
这是每个字母的值。当用户输入名称时,将计算其值并显示结果。我开发了用于计算值的代码。但是现在我需要计算丢失的数字。例如,我的名字是ROSHAN,我的值是R-9,O-6,S-1,H-8,A-1,N-5。因此,当IU计算所有这些值9 + 6 + 1 + 8 + 1 +5 = 30 = 3+ 0 =3。所以我的价值是3。我为此编写了代码,我正在为缺少的数字开发代码,就像我的名字中缺少的数字是2,3,4,7 ..谁能帮助我..我正在提供到目前为止我开发的代码。
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; i<text.length(); i++) { sum70 += value70( name70[i] ); } //while (sum10>9) while (sum70>9 ) { 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; }
使用array of boolean指示是否使用该号码。
array of boolean
例子:
private List<Integer> getMissingNo(String text){ ArrayList<Integer> missingNo = new ArrayList<Integer>(); boolean[] usedNos = new boolean[9]; for(int i=0; i<text.length(); i++){ usedNos [value70(text.charAt(i))-1] = true; } for(int i=0; i<9; i++){ if(!usedNos[i]){ missingNo.add(i+1); System.out.println((i+1) + " is missing"); } } return missingNo; }