java 获取2个字符串中间所有的字符串

请教一个问题下,给定两个字符串 12Z057 0032和12Z057 0252,希望得到这中间所有的字符串,即:12Z057 0033、12Z057 0034、12Z057 0035、12Z057 0036、12Z057 0037、12Z057 0038。。。。。。。
求java算法,谢谢!

3个回答

要求没说清楚,这2个字符串的前面“12Z057”一定是相等的吗?后面一定是空格+数字吗?
如果是就是下面代码(刚刚忘格式化了)

    public static void main(String[] args) {
        List<String> test = test("2Z057 0032", "12Z057 0252");
        System.out.println(test);
    }

    public static List<String> test(String start, String end) {
        try {
            ArrayList<String> list = new ArrayList<>();
            String[] ss = start.split(" ");
            String head = ss[0];
            int bodyLen = ss[1].length();
            long statLong = Long.parseLong(ss[1]);
            long endLong = Long.parseLong(end.split(" ")[1]);
            for (long i = statLong + 1; i < endLong; i++) {
                list.add(head + " " + formatLen(bodyLen, i));
            }
            return list;
        } catch (Exception e) {
            throw new IllegalArgumentException("参数格式有误,只支持'xxxx 数字'格式");
        }
    }

    private static String formatLen(int bodyLen, long i) {
        String stI = String.valueOf(i);
        StringBuilder builder = new StringBuilder();
        while (builder.length() + stI.length() < bodyLen) {
            builder.append("0");
        }
        builder.append(stI);
        return builder.toString();
    }

如果是固定格式,其实就是获取两个数值之间的所有数再拼接固定格式就好了。如上面这位的代码已经满足了。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐