在左垫中添加零号

Adding number with zero in left pad

首先很抱歉这个愚蠢的问题,因为我是 java 的新手。实际上我有一个字符串,其中包含一个数字,我想将其值增加到某个特定数字。我很困惑如何解释。下面是我需要做的例子。

我有一个字符串,即:-
"03000001da00000001666666"
我想像下面这样增加它的价值

"03000001da00000002666666"
"03000001da00000003666666"
"03000001da00000004666666" 等等

我在下面写了一个简单的 java 代码:

但它打印错误,即:-
"03000001da2666666"
"03000001da3666666"
"03000001da4666666" 等等

public class Demo {

public static void main(String[] args) {
        String content = "03000001da00000001666666";

        String firstIndex = content.substring(0, 10);
        String requireIndex = content.substring(10,18);
        String lastIndex  = content.substring(18, content.length());
       for(int i = 0; i <= 10;i++){
           System.out.println(firstIndex + (Integer.parseInt(requireIndex)+i) + lastIndex);
       }
    } 
}

需要帮助请帮帮我。

您可以使用 printf 和格式 String(如 %08d)在 8 个字符处用前导零填充 int。您还可以在循环之前解析一次 intString.substring(int)(只有一个参数)默认读取 String 的其余部分。这可能看起来像,

String content = "03000001da00000001666666";
String firstIndex = content.substring(0, 10);
String lastIndex = content.substring(18);
int middle = Integer.parseInt(content.substring(10, 18));
for (int i = 0; i <= 10; i++) {
    System.out.printf("%s%08d%s%n", firstIndex, middle + i, lastIndex);
}

试试这个:

public static void main(String[] args) {
    String content = "03000001da00000001666666";

    String firstIndex = content.substring(0, 10);
    String requireIndex = content.substring(10,18);
    String lastIndex  = content.substring(18);
    for(int i = 0; i <= 10;i++){
        System.out.printf("%s%08d%s%n",firstIndex, Integer.parseInt(requireIndex)+i, lastIndex);
    }
}