我正在开发一个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。因此,当IU计算所有这些值9 + 6 + 1 + 8 + 1 +5 = 30 = 3+ 0 = 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指示是否使用该号码。

例:

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;
}

关于java - Android发现丢失的数字,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20185722/

10-10 02:31