题意:判断两个大数是否相等。
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { String a = sc.next(); String b = sc.next(); a = sweepZeroAndBlock(a); b = sweepZeroAndBlock(b); boolean flag = true; if (a.length() == b.length()) { for (int i = 0; i < a.length(); i++) { if (a.charAt(i) != b.charAt(i)) { flag = false; break; } } } else { flag = false; } if (flag) { System.out.println("YES"); } else { System.out.println("NO"); } } } // 去掉s字符串中无用的0和空白 private static String sweepZeroAndBlock(String s) { s = s.trim();// 去掉后边没有用的空格 int i = s.indexOf("."); StringBuffer temp = new StringBuffer();// 不用这个会超内存 if (i > 0) {// 是小数 int len = i - 1;// 如果小数点后没有值那么小数点也不要 for (int j = s.length() - 1; j > i; j--) { char ch = s.charAt(j); if (ch >= '1' && ch <= '9') { len = j; break; } } // 把字符串s中有用的数据拷贝到temp中 for (int j = 0; j <= len; j++) { temp.append(s.charAt(j)); } s = temp.toString(); } return s; } }
1 2 2 2 3 3 4 3
NO YES YES NO
原文地址:http://blog.csdn.net/hncu1306602liuqiang/article/details/46664545