2014-10-17 18 views
0

我希望找到一种方法来使用while循环(而不是for循环)来获取通过命令行输入的整数的个别数字。现在,如果输入一个四位数的整数,我已经对它的个人数字进行了硬编码,但是如果输入一个五位数的数字,它显然不起作用。我想了一会儿循环应该能够解决这个问题,但我不知道如何...如何在while循环中使用模数来获取整数的个别数字?

这里是我到目前为止

+1

你需要一个数组或某种'List'。您将无法使用名为'digit1','digit2'等的单个变量执行此操作。 – ajb 2014-10-17 23:01:24

+0

http://stackoverflow.com/a/3389287/1114171 – 2014-10-17 23:02:49

回答

2

试试这个代码:

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

尝试这一点:

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]

相关问题