如何从右到左递增字符串

时间:2018-11-26 22:40:53

标签: java numbers auto-increment

我有以下字符串:

String

如何按以下顺序000001、000002、000003、000004递增最后一个索引。

1 个答案:

答案 0 :(得分:0)

如果最后一个字符小于'9',则将其递增并停止,否则将其设置为'0',向左移动一个位置,然后重复说明。

赞:

public static String increment(String input) {
    char[] buf = input.toCharArray();
    for (int i = buf.length - 1; i >= 0; i--) {
        if (buf[i] >= '0' && buf[i] <= '8') {
            buf[i]++;
            return new String(buf);
        } else if (buf[i] != '9') {
            throw new IllegalArgumentException(input);
        }
        buf[i] = '0';
    }
    // Overflow, increase buffer size and prefix value with '1'
    char[] buf2 = new char[buf.length + 1];
    buf2[0] = '1';
    System.arraycopy(buf, 0, buf2, 1, buf.length);
    return new String(buf2);
}