解析票据号数组:将用“,”和“-”隔开的票据号段解析成票据数组。
例:“001,002-004,0005,0007-0009,0010”(字符串)
解析成“001,002,003,004,0005,0007,0008,0009,0010”(字符串数组)
需要处理的EXCEPTION:
非数字:a,b;
重复:001-003,002-004或001-003,002(002重复);
长度不一致:001-0003;
pulic String[] methodName(String str) throws Exception{}
请问如何实现这个方法啊?
例:“001,002-004,0005,0007-0009,0010”(字符串)
解析成“001,002,003,004,0005,0007,0008,0009,0010”(字符串数组)
需要处理的EXCEPTION:
非数字:a,b;
重复:001-003,002-004或001-003,002(002重复);
长度不一致:001-0003;
pulic String[] methodName(String str) throws Exception{}
请问如何实现这个方法啊?
解决方案 »
- 有Throwable,为什么还要Exception啊
- 怎么把jar文件转换成为exe
- ant运行jar时的classpath问题
- 关于JAVA实现计算器的核心代码问题。
- Java中如何把非系统时间HH:mm或yyyy-MM-dd HH:mm插入到SQL中
- 哪位能给个"比较好的"HibernateUtil
- 重复key排序,请问用什么样的容器
- SOS!!!老大人救小弟呀!关于<@ include file="">的问题
- JDBC的问题,高分相赠
- 不知道哪能下载JBuilder3使用手册?
- 换个角度再再区分一下String str1 = "abc"和String str2 = new String("abc");
- 解析票据号的问题?
split()么?并且得到的也是类似“001,002,004“之类的,并没有取到003啊~
import java.text.*;public class Deal {
static Set<String> set = new LinkedHashSet<String>();
static DecimalFormat textFormat = new DecimalFormat("0000");
public static void deal(String str){
str = str.replaceAll("-", ",");
String[] strArray = str.split(",");
for(String s : strArray){
if (s.matches("[0-9]+")){
set.add(textFormat.format(Integer.parseInt(s)));
}
} }
public static void main(String args[]){
String str = "001,002-004,0005,0007-0009,0010-0010,a-b";
deal(str);
System.out.print(set.toString());
}
}
[0001, 0002, 0004, 0005, 0007, 0009, 0010]简单的处理一下 不合格的数据全部去掉 至于其他的要求你再处理一下吧 记得给俺分 你这个0%的结贴率 汗...