2015-04-25 121 views
-2

我試圖做一個程序,可以添加大量與衆不同的像8,330,103,343,234和5,123,342,345,231或基於用戶輸入任何數字。這只是一個激進的例子。除了實現堆棧類之外,我的問題是我不完全太確定如何將用戶輸入數字作爲字符串。我知道我必須使用兩個堆棧,可能還需要第三個堆棧來保存其餘的數字。添加兩個大數使用堆棧

+0

你被允許使用'BigInteger'類嗎? –

+0

我建議你嘗試一下,看看你如何去。我會寫一個讀取數字並返回堆棧的方法。然後您可以編寫一個方法,將兩個堆棧中的數字相加,並返回另一個堆棧,最後打印結果。 –

+0

你可以從堆棧添加幾個整數?如果是,那麼你所需要做的就是 - 用BigInteger代替Integer類 –

回答

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())); 
0

您可以使用BigInteger

這裏的一個簡單的例子:

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