九度OJ题目1137:浮点数加法 (JAVA)使用BigDecimal四个案例都通过了,但是超时了。

题目描述:

求2个浮点数相加的和
题目中输入输出中出现浮点数都有如下的形式:
P1P2...Pi.Q1Q2...Qj
对于整数部分,P1P2...Pi是一个非负整数
对于小数部分,Qj不等于0

输入:

对于每组案例,第1行是测试数据的组数n,每组测试数据占2行,分别是两个加数。
每组测试数据之间有一个空行,每行数据不超过100个字符

输出:

每组案例是n行,每组测试数据有一行输出是相应的和。
输出保证一定是一个小数部分不为0的浮点数

样例输入:
2
0.111111111111111111111111111111
0.111111111111111111111111111111 10000000.655555555555555555555555555555
1.444444444444444444444444444445
样例输出:
0.222222222222222222222222222222
10000002.1
package a;
import java.math.BigDecimal;
import java.util.*;
public class Main{
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
while(cin.hasNext()){
int m=cin.nextInt(); for(int i=0;i<m;i++){
BigDecimal b1=cin.nextBigDecimal();
BigDecimal b2=cin.nextBigDecimal();
BigDecimal c=b1.add(b2).stripTrailingZeros();
String str = c.toPlainString();
if (str.indexOf('.') == -1) str += ".0";
System.out.println(str);
}
}
cin.close();
}
}
上一篇:基于 HTML5 Canvas 的拓扑组件开发


下一篇:CXF之webservice