我想递增 (+1) 具有 N 个值并表示整数的 int 数组的最后一位。每个值都是 0-9 之间的单个数字。
逻辑是这样的:如果要增加的数字是 9,它必须变成 0,下一个(从右到左)必须增加 1。如果你到达数组的第一个数字,它是 9,这将变成 10。示例:
[3,4,5,6] -> [3,4,5,7]
[3,9,2,9] -> [3,9,3,0]
[3,4,9,9] -> [3,5,0,0]
[9,9,9,9] -> [10,0,0,0]
我做了同样的练习,但只有 4 位数,所以逻辑很简单:
int[] incrementArrayDigits(int[] fourDigits) {
if (fourDigits[3] != 9) {
fourDigits[3]++;
} else if (fourDigits[2] != 9) {
fourDigits[3] = 0;
fourDigits[2]++;
} else if (fourDigits[1] != 9) {
fourDigits[3] = 0;
fourDigits[2] = 0;
fourDigits[1]++;
} else if (fourDigits[0] != 9) {
fourDigits[3] = 0;
fourDigits[2] = 0;
fourDigits[1] = 0;
fourDigits[0]++;
}
if (fourDigits[0] == 9 && fourDigits[1] == 9 && fourDigits[2] == 9 &&
fourDigits[3] == 9) {
fourDigits[1] = fourDigits[2] = fourDigits[3] = 0;
fourDigits[0] = 10;
}
System.out.println(Arrays.toString(fourDigits));
return fourDigits;
}
我试图解决 N 个数字取数组长度然后使用 for 循环的问题,但我无法达到预期的结果。
RISEBY
慕妹3146593
回首忆惘然
富国沪深
相关分类