HDU1047 Integer Inquiry Java

  在做这个题的过程中有了解到了在java这么语言中,只有八种常量是直接分配内存的,其余对象均为引用类型,这样有效的避免了内存的浪费。不过还有一个问题,为什么这样写就不正确呢?   if( b == BigInteger.ZREO ) {}  这个判定输入的b是否为零就不正确。

  代码如下:

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

public class Main {

    public static void main(String[] args) {
        BigInteger sum, b;
        int T;
        Scanner in = new Scanner(System.in);
        T = in.nextInt();
        for (int i = 1; i <= T; ++i) {
            sum = BigInteger.ZERO;
            while (true) {
                b = in.nextBigInteger();
                sum = sum.add(b);
                if (b.intValue() == 0) {
                    if (i < T) {
                        System.out.println(sum);
                        System.out.println();
                    } else {
                        System.out.println(sum);
                    }
                    break;
                }
            }
        }
    }
} 

  

原文地址:https://www.cnblogs.com/Lyush/p/2137779.html