java - 如何将两个或多个数字分开并分别相加

标签 java android integer

我想做一个 Activity ,如果我有一个特定的整数作为前。第456章 我想让它把这个整数分成4、5、6,然后像4+5+6一样分别相加,直到最后的结果等于或小于9或个位数。

例如:

4+5+6=15,现在15也是2位数字,现在又将15分开为1、5并添加1+5即6

所以我必须得到一位数字的最终结果。

如何在 Java 或 Android 中实现此目的?

这是我尝试过的以下代码:

if(sum > 9)
{
    int numbers = 0;
    int number = sum;
    int[] digits = getDigitsOf(number);

    for (int i = 0; i < digits.length; i++) {
        numbers = (digits[i]);
    }

    tv.setText(numbers);
}

函数是:

public int[] getDigitsOf(int num)
{        
    int digitCount = Integer.toString(num).length();

    if (num < 0) 
        digitCount--;           

    int[] result = new int[digitCount];

    while (digitCount-- >0) {
        result[digitCount] = num % 10;
        num /= 10;
    }        
    return result;
}

我没有得到想要的结果。

最佳答案

你应该学会了 recursive programming 以及使用百分比“%”运算符来查找数字中的每个数字

 456%10 = 6;// which is the remainder

请使用这两个方法并找到您的答案。

这是一个简单的程序。尝试一下这两种想法,答案就会为你所用

编辑: 我更喜欢这样的逻辑

public static void main(String[] args) {
    int number = 456;
    System.out.println(splitnumberAndSum(number));

}

private static int splitnumberAndSum(int number) {
    int sum = 0;
    int rem;
    while (number>0) {
        rem=number%10;
        sum+=rem;
       number /= 10;
    }
    if(sum>9){
        sum = splitnumberAndSum(sum);
    }
    return sum;
}

关于java - 如何将两个或多个数字分开并分别相加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13245528/

相关文章:

java - JSTL 打印 arrayList 元素

java - Java 中的非重复整数列表?任务

PHP 关联数组意外行为 - 为什么?

java - 在 Java 文件中实现 HTML

java - 使用列表为我的 RecyclerView 制作了一个自定义适配器

android - 即使 fragment 被隐藏,FragmentTabHost 也会触发 onCreateView

android - setPluginState(WebSettings.PluginState) 已弃用。我应该怎么办? ( WebView 插件)

vb.net - 高效码: short vs integer data types in VB.网

java - Spring 的@Autowired 如何与没有实现的接口(interface)一起工作?

android - 使用 Google Maps API 的约束和限制