求一个简单的方法
我是做工程的,没学过Java,现在用的一个软件是用Java语言写的,碰到一个小小的二次开发的问题:提取一个字符串(都是T8*250*10*100这种形式的)中的数值型字符,将其转换为数字,再求它们的和(最后的结果是368)。请问这个问题如何用一个输入参数是字符串"T8*250*10*100",并返回计算结果的方法来实现。请热心的朋友给一个完整的代码。非常感谢!
[解决办法]
你没有认真看我给你回的帖子,正则表达是[\\D]+ 你把大写改成了小写,所以出错
同时你现在这种写法有几个潜在的问题
字符串的模式必须是固定的"L140*90*10" 如果换成 120W*90*45就有问题
还有area可能计算为0,
不是很清楚你的字符串模式,下面这个肯定可以了
float offset(String section) { int H,W,t; float area,static_moment; String[] size = section.split("[\\D]+"); for(int i=1;i<=3;i++){ System.out.println(size[i]); } H = Integer.parseInt(size[1]); W = Integer.parseInt(size[2]); t = Integer.parseInt(size[3]); area = (H-t)*t + W*t; static_moment = (float) ((H-t)*t*(H-t)/2.0 + W*t*(H-t/2.0)); if(area==0){ return -1; } return static_moment/area; }