安卓发现缺号 [英] Android finding missing numbers

查看:119
本文介绍了安卓发现缺号的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我开发一个Android应用程序..这是一个命理的应用程序。在其中计算所述名称的值是做。 一,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

这是每个字母的数值。当用户输入自己的值计算的名称和显示结果。我公司开发的code计算值。但现在我需要计算丢失号码。例如我的名字是ROSHAN,我的价值是R-9,哦 - 6,S - 1,H - 8,A - 1,N - 5。因此,当IU计算所有这些值9 + 6 + 1 + 8 + 1 + 5 = 30 = 3 + 0 = 3。 所以,我的价值是三。我做了code对于这一点,我发展code为丢失号码就像我的名字失踪数字是2,3,4,7 ..谁能帮助我..我给了$ C $ Ç到目前为止,我公司开发的。

MainActivity.java

 长sum70 = 0;
        长sum80 = 0;
        长sum90 = 0
sum70 = getsum70(et7.getText()的toString());
        sum80 = getSum80(et8.getText()的toString());
        sum90 = getSum90(et9.getText()的toString());
专用长getsum70(字符串文本){
        // TODO自动生成方法存根
        长sum70 = 0;
        的char [] name70 =新的char [text.length()];

               name70 = text.toCharArray();

               的for(int i = 0; I< text.length();我++)
               {
                   sum70 + = value70(name70 [I]);
                }
                 //而(sum10> 9)

              而(sum70> 9)
               {


                   sum70 = findDigitSum70(sum70);

               }
        返回sum70;
    }


    专用长value70(字符一){
        // TODO自动生成方法存根
        开关(一)
    {
       情况下A:
       返回1;
       案例'B':
       返回2;
       情况下C:
       返回3;
       情况下D:
       返回4;
       案E:
       返回5;
       案例'F':
       返回6;
       案G:
       返回7;
       案H:
       返回8;
       情况下,我:
       返回9;
       案例'J':
       返回1;
       案例'K':
       返回2;
       案L:
       返回3;
       情况下M:
       返回4;
       案例'N':
       返回5;
       案例'O':
       返回6;
       案例'P':
       返回7;
       案例'Q':
       返回8;
       案例'R':
       返回9;
       情况下S:
       返回1;
       案例'T':
       返回2;
       案例'U':
       返回3;
       案V:
       返回4;
       案W:
       返回5;
       情况下'X':
       返回6;
       案例'Y':
       返回7;
       情况下Z:
       返回8;
       默认:
       返回0;

    }
    }

    专用长findDigitSum70(N久){
        // TODO自动生成方法存根
        INT sum70 = 0;
        而(N!= 0)
        {
         sum70 + = N%10;
         N = N / 10;
        }
        返回sum70;
    }
 

解决方案

使用的布尔的数组,表示该数是否使用与否。

例如:

 私人列表<整数GT; getMissingNo(字符串文本){
    ArrayList的<整数GT; missingNo =新的ArrayList<整数GT;();

    布尔[] usedNos =新的布尔[9];
    的for(int i = 0; I< text.length();我++){
        usedNos [value70(text.charAt(I)) -  1] =真;
    }

    的for(int i = 0; I< 9;我++){
        如果(!usedNos [I]){
            missingNo.add第(i + 1);
            的System.out.println(第(i + 1)+丢失);
        }
    }

    返回missingNo;
}
 

I am developing an Android Application.. which is a numerology app. In which the value of calculating the name is doing . 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.

This is the value of each letter. When user enter the name his value is calculated and display the result. I developed the code for calculating the value. But now I need to calculate the missing numbers. For example my name is ROSHAN and my value is R-9, O - 6, S - 1, H - 8, A - 1, N - 5. so when IU calculate all these values 9+6+1+8+1+5 = 30 = 3+ 0 = 3. So my value is three. I did the code for that, I am developing code for the missing numbers like in my name missing numbers is 2,3,4,7 .. can anyone help me.. I am giving the code so far I developed..

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

解决方案

Use an array of boolean to indicate whether the number is used or not.

Example:

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

这篇关于安卓发现缺号的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆