[英]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.