繁体   English   中英

如何在while循环中使用模数来获取整数的各个数字?

[英]How do I use modulus in a while loop to get individual digits of an integer?

我希望找到一种使用while循环(而不是for循环)的方法来获取通过命令行放入的整数的各个数字。 现在,如果输入四位数的整数,我很难对如何获取单个数字进行硬编码,但是如果输入五位数的数字,则显然不起作用。 我在想一个while循环应该可以解决这个问题,但是我不确定如何...

这是我到目前为止的代码

尝试这个:

List<Integer> digits = new ArrayList<Integer>();
while (number > 0)
{
    digits.add(number%10);
    number /= 10;
}

试试看:

int number = 567;
int[] digits = new int[String.valueOf(number).length()];
while (number > 0)
{
    digits[String.valueOf(number).length()-1] = number % 10;
    number /= 10;
}
System.out.println(Arrays.toString(digits));

可能不是最优雅的解决方案,但是它将以数字的顺序为您提供数字中的数字。 示例12345将为数组提供[1, 2, 3, 4, 5]值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM