我希望找到一种方法来使用while循环(而不是for循环)来获取通过命令行输入的整数的个别数字。现在,如果输入一个四位数的整数,我已经对它的个人数字进行了硬编码,但是如果输入一个五位数的数字,它显然不起作用。我想了一会儿循环应该能够解决这个问题,但我不知道如何...如何在while循环中使用模数来获取整数的个别数字?
这里是我到目前为止
我希望找到一种方法来使用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]
。
你需要一个数组或某种'List'。您将无法使用名为'digit1','digit2'等的单个变量执行此操作。 – ajb 2014-10-17 23:01:24
http://stackoverflow.com/a/3389287/1114171 – 2014-10-17 23:02:49