使用堆栈添加两个大数

时间:2015-04-25 22:59:10

标签: java stack

我正在尝试制作一个可以添加大量不寻常的程序,如8,330,103,343,234和5,123,342,345,231或任何基于用户输入的数字。这只是一个激进的例子。除了实现堆栈类之外,我的问题是我不太完全确定如何将用户输入数字作为字符串添加到堆栈中。我知道我必须使用两个堆栈,可能还需要第三个堆栈来保存剩余的数字。

2 个答案:

答案 0 :(得分:0)

我不完全确定您是如何处理用户输入的,但以下内容可能会让您以简单的线性方式开始(仅作为示例):

Stack<BigInteger> stack = new Stack<BigInteger>();
Scanner scan = new Scanner(System.in);
System.out.print("Enter number: ");
BigInteger bi = new BigInteger(scan.next().trim());
stack.push(bi);
System.out.print("Enter number: ");
bi = new BigInteger(scan.next().trim());
stack.push(bi);
System.out.println(stack.pop().add(stack.pop()));

答案 1 :(得分:0)

您可以使用BigInteger

这是一个简单的例子:

BigInteger num1 = BigInteger.valueOf(8330103343234);
BigInteger num2 = BigInteger.valueOf(5123342345231);
BigInteger sum = num1.add(num2);