NYOJ513,A+B Problem IV

前端之家收集整理的这篇文章主要介绍了NYOJ513,A+B Problem IV前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

A+B Problem IV

时间限制: 1000ms | 内存限制: 65535KB
难度: 3
描述
acmj最近发现在使用计算器计算高精度的大数加法时很不方便,于是他想着能不能写个程序把这个问题给解决了。
输入
包含多组测试数据
每组数据包含两个正数A,B(可能为小数且位数不大于400)
输出
每组输出数据占一行,输出A+B的结果,结果需要是最简的形式。
样例输入
  1. 1.9 0.1
  2. 0.1 0.9
  3. 1.23 2.1
  4. 3 4.0
样例输出
  1. 2
  2. 1
  3. 3.33
  4. 7
来源
hdu

  1. import java.math.BigDecimal;
  2. import java.util.Scanner;
  3.  
  4. public class NYOJ513 {
  5. public static void main(String[] args) {
  6. Scanner cin = new Scanner(System.in);
  7. while (cin.hasNext()) {
  8. BigDecimal a = cin.nextBigDecimal();
  9. BigDecimal b = cin.nextBigDecimal();
  10. BigDecimal c = a.add(b);
  11. System.out.println(sw(c.toString()));
  12. }
  13. }
  14.  
  15. static String sw(String s) {
  16. if (s.indexOf(".") > 0) {
  17. s = s.replaceAll("0+?$","");// 把末尾的“0”全替换成空
  18. s = s.replaceAll("[.]$","");// 把末尾的“。”全替换成空
  19. }
  20.  
  21. return s;
  22. }
  23.  
  24. }

第二次用正则表达式

提交时toString方法比直接加""快

猜你在找的正则表达式相关文章