在做这个题的过程中有了解到了在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;
}
}
}
}
}