获取JAVA中的数字总和

时间:2017-05-24 13:36:58

标签: java while-loop sum digits

我正在尝试编写一个程序,它显示所有可能的两位数字,并显示这些数字的总和。

例如:

10 - 1 + 0 = 1
11 - 1 + 1 = 2
12 - 1 + 2 = 3
..
98 - 9 + 8 = 17
99 - 9 + 9 = 18

我使用while循环来得到这样的正数:

public static void main(String[] args){
   int count = 10;

   while (count < 100) { 
      System.out.println("count:" + count); 
      count = count + 1;    
   }

   System.out.print("Sum of Digits of " +sum);      
}

我很难获得这些数字的总和,就像在示例中一样。我在互联网上读了一些没有运气的东西。

2 个答案:

答案 0 :(得分:0)

一个有效的解决方案,如果你真的每个数字只有两位数字:

int count = 10;
while (count <100){
    int first = count /10;
    int second = count %10;
    System.out.println(count + " - " + first +" + "+ second + " = " + (first+second));
    count = count + 1;
}

在学习Java时,您应该首先了解基本运算符,例如/和%。这个安静的简单例子需要这两个。

我尽量保持尽可能接近您的代码以获得预期的结果。 但是,还有其他解决方案(for-loop,count ++而不是count = count + 1 ...)

答案 1 :(得分:0)

获取n位数字的数字总和的一种简单方法是:

int sum = 0;
while (num > 0) {
    int digit = num % 10;
    sum = sum + digit;
    num = num / 10;
}

num % 10将给出num和10之间的余数,即num的最后一位。您将其添加到sum变量中。
num / 10将给出num和10之间的除法结果。由于num和10都是整数,因此结果也将是整数。除以10只会将小数点向左移动一位,并且由于结果是整数,因此小数点后的数字将被删除。

  

示例:
  num = 108
  num%10 = 108%10 = 8
  num / 10 = 108/10 = 10.8-> 10

此过程一直持续到num变为一个数字为止。当num是个数字时,除以10将返回0。

  

示例:
  num = 5
  num%10 = 5%10 = 5
  num / 10 = 5/10 = 0.5-> 0

最后一位数字将加到总和上,循环将停止。