eaglezdm 2019-11-21 11:08 采纳率: 0%
浏览 2939

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

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

  • 写回答

4条回答 默认 最新

  • 王能 2019-11-21 14:06
    关注

    要求没说清楚,这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();
        }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序