首页 > 解决方案 > 如何迭代字符串的一部分?

问题描述

作为我项目的一部分,我想迭代卷号。我从用户那里获得开始和结束卷号。我必须在这些数字之间进行迭代。我们的卷号是这样的(长度 10 是固定的)

188w1a0501 到 188w1a0599 在这之后我必须得到 188w1a05a0,188w1a05a1 到 188w1a05a9 在这之后我必须得到 188w1a05b0,188w1a05b1 到 188w1a05b9 到结束卷号 如何从开始到结束卷号迭代(这是上述格式)实现我的项目功能

标签: iteration

解决方案


您正在迭代最后 2 位数字。最后一位是基数 10 (0-9),倒数第二位是基数 12 (0-9,ab)。作为参考,它就像一个较短的十六进制版本,也就是基数 16 (0-9,af)。

这意味着您迭代 120 次,并从中计算 2 位数字:

for (int i = 0; i < 120; i++) {
    String rollNumber = "188w1a05" + Character.forDigit(i / 10, 12)
                                   + Character.forDigit(i % 10, 10);
    System.out.println(rollNumber);
}

输出(缩写)

188w1a0500
188w1a0501
188w1a0502
188w1a0503
188w1a0504
188w1a0505
188w1a0506
188w1a0507
188w1a0508
188w1a0509
188w1a0510
188w1a0511
188w1a0512
188w1a0513
188w1a0514
  . . .
188w1a0595
188w1a0596
188w1a0597
188w1a0598
188w1a0599
188w1a05a0
188w1a05a1
188w1a05a2
188w1a05a3
188w1a05a4
188w1a05a5
188w1a05a6
188w1a05a7
188w1a05a8
188w1a05a9
188w1a05b0
188w1a05b1
188w1a05b2
188w1a05b3
188w1a05b4
188w1a05b5
188w1a05b6
188w1a05b7
188w1a05b8
188w1a05b9

推荐阅读