题意:判断两个大数是否相等。
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