我正在尝试编写一个程序,它显示所有可能的两位数字,并显示这些数字的总和。
例如:
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);
}
我很难获得这些数字的总和,就像在示例中一样。我在互联网上读了一些没有运气的东西。
答案 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
最后一位数字将加到总和上,循环将停止。