[英]Get the sum of digits in JAVA
我正在尝试编写一个程序,它显示所有可能的两位数字并显示这些数字的总和。
例如:
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);
}
我被困在像示例中那样获得这些数字的总和。 我在互联网上阅读了一些东西,但没有运气。
一个有效的解决方案,如果你真的每个号码只有两位数字:
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 循环,count++ 而不是 count = count + 1 ...)
获得 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 只会将小数点左移一位,由于结果是整数,因此将删除小数点后的数字。
示例:
数量 = 108
数量 % 10 = 108 % 10 = 8
数量 / 10 = 108 / 10 = 10.8 -> 10
这种情况一直持续到num
变成一位数。 当num
为一位数时,除以 10 将返回 0。
示例:
数量 = 5
数量 % 10 = 5 % 10 = 5
数量 / 10 = 5 / 10 = 0.5 -> 0
最后一位数字将添加到总和中,循环将停止。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.