试图将数字的数字放入数组中,但它是相反的

时间:2016-10-04 23:01:58

标签: java arrays

我正在尝试将4位数字的数字存储到数组中,但最终会被反转:1234在数组中存储为[4,3,2,1]

int[] nums = new int[4];

for (int i = 0; i < length; i++) {
    nums[i] = input % 10;
    input /= 10;
    System.out.print(nums[i]);

}

3 个答案:

答案 0 :(得分:2)

input % 10;将首先返回数字的十位,因此只需在数组位置上向后循环。

for (int i = nums.length - 1; i >= 0; i--) {

您也可以使用ArrayList并检查while(input > 0)以执行任何长度编号。

答案 1 :(得分:2)

您只需要以相反的顺序遍历数组,因为数字%10将为您提供十位的数字。

例如:如果编号1234,编号%10 =&gt; 4应该存储在数组末尾[3]

for (int i = nums.length - 1; i >= 0; i--) {
    nums[i] = input % 10;
    input /= 10;
    System.out.print(nums[i]);

}

答案 2 :(得分:0)

另一个选择是更改数组索引:

nums[nums.length - i - 1] = input % 10;