问题描述
如下:有以下数据:【0.7m,0,10mm~2.5,0.7,20,15mm~2,7,10,7m】请将数据去掉单位后,得到一下结果:【0,0.7,5,7,10,20】注意:10mm~2.5和15mm~2,7因为他们都有“~”号,所以没在结果中出现,而且按从小到大排了序各位有什么简单的方法得出结果吗(代码越少越好,惭愧我的代码太长,感觉不靠谱,特来取经),直接贴代码,谢谢~
解决方案
解决方案二:
【0.7m,0,10mm~2.5,0.7,20,15mm~2,7,10,7m】你这个将逗号分割后放到数组里面,然后用Arrays.sort(你的数组)。
解决方案三:
Double[]process(String[]strs){Set<Double>valSet=newTreeSet<Double>();for(inti=0;i!=strs.length;++i){Stringtemp=strs[i].replaceAll("m*","");try{doubleval=Double.parseDouble(temp);valSet.add(val);}catch(Exceptione){//TODO:handleexception}}Double[]ret=newDouble[valSet.size()];valSet.toArray(ret);returnret;}
解决方案四:
当然,你可以更精简,比如下面的代码:Double[]process(String[]strs){Set<Double>valSet=newTreeSet<Double>();for(Stringstr:strs){try{doubleval=Double.parseDouble(str.replaceAll("m*",""));valSet.add(val);}catch(Exceptione){}}return(Double[])valSet.toArray();}