本质上,我试图创建一个程序来计算数字的总和,但是每次弹出一个超过1000的数字时,这些数字就不会正确累加。我不能在此程序中使用%或除法或乘法,这使得imo真的很难。要求是,如果用户输入任何整数n,那么我将必须能够计算该数字的总和。
我已经尝试过x> = 1000,x> = 10000等许多次,但是我意识到必须有某种方法可以更快地完成它,而不必手动进行。
import java.util.Scanner;
public class Bonus {
public static void main(String[] args) {
int x;
int y=0;
int u=0;
Scanner s = new Scanner(System.in);
System.out.print("Enter the number:");
x = s.nextInt();
int sum = 0;
{
while(x >= 100) {
x = x - 100;
y = y + 1;
}
while(x>=10) {
x = x - 10;
u = u + 1;
}
sum = y + u + x;
System.out.println("The sum of the digits in your number is" + " " + sum);
}
}
}
因此,如果我输入1,000,则显示10。如果输入100,000,则显示100。非常感谢您的帮助
答案 0 :(得分:0)
将数字转换为字符串,然后遍历字符串中的每个字符,并将其整数值加到总和中。
int sum = 0;
x = s.nextInt();
for(char c : Integer.toString(x).toCharArray()) {
sum += Character.getNumericValue(c);
}