nyoj 524-A-B Problem (java stripTrailingZeros, toPlainString)

524-A-B Problem


内存限制:64MB 时间限制:1000ms 特判: No
通过数:2 提交数:4 难度:3

题目描述:

A+B问题早已经被大家所熟知了,是不是很无聊呢?现在大家来做一下A-B吧。

现在有两个实数A和B,聪明的你,能不能判断出A-B的值是否等于0呢?

输入描述:

有多组测试数据。每组数据包括两行,分别代表A和B。
它们的位数小于100,且每个数字前中可能包含+,- 号。
每个数字前面和后面都可能有多余的0。
每组测试数据后有一空行。

输出描述:

对于每组数据,输出一行。
如果A-B=0,输出YES,否则输出NO。

样例输入:

1
1

1.0
2.0

样例输出:

YES
NO

Java   (无法提交):

 1 import java.math.BigDecimal;
 2 import java.util.Scanner;
 3 
 4 public class Main {
 5     
 6     public static void main(String[] args){
 7         Scanner scan = new Scanner(System.in);
 8         while (scan.hasNext()){
 9             BigDecimal Deci1 = scan.nextBigDecimal();
10             BigDecimal Deci2 = scan.nextBigDecimal();
11             String str1 = Deci1.stripTrailingZeros().toPlainString();
12             String str2 = Deci1.stripTrailingZeros().toPlainString();
13             String notUse = scan.nextLine();
14             if (str1.startsWith("+"))
15                 str1 = str1.substring(1);
16             if (str2.startsWith("+"))
17                 str2.substring(1);
18             if (str1.equals(str2))
19                 System.out.println("YES");
20             else
21                 System.out.println("NO");
22         }
23     }
24 }

 

posted @ 2018-07-19 12:59  GetcharZp  阅读(202)  评论(0编辑  收藏  举报