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 }