Java大数相加-hdu1047

时间:2023-03-10 03:38:49
Java大数相加-hdu1047

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1047

题目描述:

Java大数相加-hdu1047Java大数相加-hdu1047

  题意有点绕,但是仔细的读了后就发现是处理大数相加的问题。注意:输入数据有多组,每组输入要用一个t来控制输入的模块,每个模块的输入以0来结束。换句话说,有多少模块,输出就有多少个VeryLongInteger。

代码实现:

 import java.math.BigInteger;
import java.util.Scanner; public class Hdu1047 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
int t = scanner.nextInt();//用t来控制输入多少模块
while(t>0) {
t--;
BigInteger sum= BigInteger.ZERO;
while (true) {
BigInteger num = scanner.nextBigInteger();
if (num .compareTo(BigInteger.ZERO)==0)//此处要用compareTo()来判断大数num是否等于0,不可直接用”==“进行比较。
break;
sum = sum.add(num);//大数相加要运用add(),不能直接用“+”来对大数进行相加
}
System.out.println(sum);
if(t>0)//每个案列后有一个空行
System.out.println();
}
}
scanner.close();
}
}