如何加快我的代码的效率?

时间:2019-05-16 22:39:06

标签: java

本质上,我试图创建一个程序来计算数字的总和,但是每次弹出一个超过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。非常感谢您的帮助

1 个答案:

答案 0 :(得分:0)

将数字转换为字符串,然后遍历字符串中的每个字符,并将其整数值加到总和中。

int sum = 0;
x = s.nextInt();
for(char c : Integer.toString(x).toCharArray()) {
    sum += Character.getNumericValue(c);
}