1190: 零起点学算法97——A == B ?(Java)

版权声明:转载请注明出处 https://blog.csdn.net/pfdvnah/article/details/89289853

WUSTOJ 1190: 零起点学算法97——A == B ?

Description

        Give you two integer numbers A and B, if A is equal to B, you should print “YES”, or print “NO”.

Input

        each test case contains two integer numbers A and B.

Output

        for each case, if A is equal to B, you should print “YES”, or print “NO”.

Sample Input

1 2
2 2
3 3
4 3

Sample Output

NO
YES
YES
NO

HINT

        注意A、B数位最多100位。

代码

/**
 * 用时:472ms
 * @author wowpH
 * @version A1.1
 * @date 2019年4月13日 下午9:35:04
 */

import java.math.BigInteger;
import java.util.Scanner;

public class Main {

	private Scanner sc;
	private BigInteger A, B;

	public Main() {
		sc = new Scanner(System.in);
		while(sc.hasNext()) {
			A = sc.nextBigInteger();
			B = sc.nextBigInteger();
			if(A.equals(B)) {
				System.out.println("YES");
			} else {
				System.out.println("NO");
			}
		}
		sc.close();
	}

	public static void main(String[] args) {
		new Main();
	}

}

        我为什么没有早点发现这个大数类(BigInteger),这么好用的一个类。
        虽然上面代码是正确的的,但是我想知道为什么下面这个就不行呢?

double 的表示范围是:1.7976931348623157e+308 这个为什么不行呢?

/**
 * 提交:Wrong Answer
 * @author wowpH
 * @version A1.0
 * @date 2019年4月13日 下午9:35:04
 */

import java.util.Scanner;

public class Main {

	private Scanner sc;
	private double A, B;

	public Main() {
		sc = new Scanner(System.in);
		while(sc.hasNext()) {
			A = sc.nextDouble();
			B = sc.nextDouble();
			if(A == B) {
				System.out.println("YES");
			} else {
				System.out.println("NO");
			}
		}
		sc.close();
	}

	public static void main(String[] args) {
		new Main();
	}

}

猜你喜欢

转载自blog.csdn.net/pfdvnah/article/details/89289853