java - Android Java While循环不执行

标签 java android loops while-loop

在我的 javacode 中,我使用 while 循环,其中将一个值加在一起并使其成为一个数字.. 例如,如果它是 2010,则 2+0+1+0 = 3,如果它是 2345,则 2+ 3 + 4 + 5 = 14 然后 1 + 4 = 5 就像那样......但同时这个过程对两个数字无效.. 11 & 22 如果即将到来的值是 11 和 22 然后没有进一步加法像 1 +1 =2 或 2+2 =4; 他们必须将它显示为 11 和 22 ...我写了如下代码但它不起作用...任何人请检查代码并帮助我...有什么错误...

private long getSum10(String text)
{
    long sum10 = 0;
    char[] name10 = new char[text.length()];
    name10 = text.toCharArray();
    for (int i = 0; i < text.length(); i++)
    {
        sum10 += value10(name10[i]);
    }
    while ((sum10 != 11) && (sum10 != 22) && (sum10 > 9))
    {
        sum10 = findDigitSum10(sum10);
    }
    return sum10;
}
private long findDigitSum10(long n)
{
    int sum10 = 0;
    while (n != 0)
    {
        sum10 += n % 10;
        n = n / 10;
    }
    return sum10;
}
private int value10(char a)
{
    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;
    }
}

最佳答案

我会用下面的方式实现它

public static void main(String[] args) {
    System.out.println(getSum(12));
    System.out.println(getSum(11));
}
public static long getSum(int no){      
    if(no/10 == 0 || no%11 == 0){
        return no;
    }else{
        return getSum(no/10) + no%10;
    }
}

关于java - Android Java While循环不执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19807938/

相关文章:

Java Do While 循环跳过条件

java - 数据库查询问题

java - 我应该将 IDL 文件和生成的代码放在 Maven 项目中的哪里?

android: ViewPager 和 Horizo​​ntalScrollVIew

algorithm - 从伪代码实现循环

c++ - 以特定方式在 C++ 中打印数字三角形?

java - 引用值和原始值之间的差异

java - 将 JDBC ResultSet 解析为 CSV 内存字符串

java - 从/向路径读取和写入 CSV

android - 在 Jetpack Compose 中,我可以将动画配置为以恒定速度而不是恒定时间运行吗?