解析票据号数组:将用“,”和“-”隔开的票据号段解析成票据数组。
例:“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{}
请问如何实现这个方法啊?
解决方案 »
- 三大框架的优缺点?
- java图形介面下一些关于参数的传递问题
- 关于自己写的一个编码转换的函数的问题~请高手给看下问题
- 100分向高手求教关于Jtable格式的问题
- 跪求jsp金额大小写转换代码!谢谢
- 请问各位,做的GUI是用在windows还是用在手机,java做的GUI在PC机上真的有价值吗???
- 我的程序为什么需要Tomcat重启一次后再能正常运行?(jsp+javaBeans+Oracle)
- applet访问数据库,数据联接问题
- java初学者的问题
- 请教目录出错的问题。。。谢谢。。。。
- 换个角度再再区分一下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%的结贴率 汗...