九度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();  
    }  
}

 

posted @ 2017-03-10 20:34  code-life  阅读(237)  评论(0编辑  收藏  举报