【问题标题】:How to print out the digits of an integer of any length?如何打印出任意长度整数的数字?
【发布时间】:2014-11-08 17:31:02
【问题描述】:

只要除法变量与变量 num 具有相同的以 10 为底的幂,此程序就可以工作,在这种情况下,数字是 12345,因此除法需要为 10000。虽然这适用于 5 位数字,但任何有更多的数字或少于 5 位的数字将不会打印出其单独的数字。如何将除法配置为自动与 num 具有相同的以 10 为底的幂?

public class lab5testing
{
    public static void main (String args[])
    {
        int num = 12345, digit = 0, divide = 10000;
        if (num != 0)
        {
            while(num != 0 )
            {
            digit = ((num/divide)%10);
            System.out.println(digit);
            divide /= 10;
            if (divide == 0)
            {
                num = 0;
            }               
            }
        }
        else
        {
            System.out.println(num);
        }       
    }
}

【问题讨论】:

    标签: variables printing integer out digits


    【解决方案1】:

    也许你应该试试这个:

    int length = (int)(Math.log10(num)+1);
    

    然后:

    int divide = Math.pow(10,lengh);
    

    【讨论】:

    • 我收到一条错误消息:不兼容的类型:从 double 到 int 的可能有损转换。
    • 奇怪...这个怎么样:int length = String.valueOf(num).length();
    猜你喜欢
    • 2012-12-02
    • 2014-01-02
    • 2012-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-31
    • 2022-01-18
    • 1970-01-01
    相关资源
    最近更新 更多