我想寫一個實際上是一個堆棧的程序。給定一個包含特定關鍵字的文本文件,我希望我的程序逐行評估文本並對堆棧執行所請求的操作。
如何從字符串和整數文本文件中提取int值?
例如,如果輸入文件是:
push 10
push 20
push 30
產生的堆棧應該是這樣的:
30
20
10
不過,我不知道如何將這些值推入堆棧不需要在單詞push
後面硬編碼一個int值。我做了一個字符串變量,並將其分配給scanner.nextLine()
從那裏,我比較符合strLine中:如果strLine中等於push
其次是一些數字,那麼這個數字將被壓入堆棧。
但是,看起來方法nextInt()
沒有從輸入流中獲取該數字。
Scanner input = new Scanner(file)
int number;
String strLine;
while (input.hasNextLine()){
strLine = input.nextLine();
number = input.nextInt();
if(strLine.equals("push " + number)){
stack.push(number);
}
我該如何解決這個問題?
謝謝。
這不是你的完整代碼,哪裏是你的'stack'對象initiasation – Smit
'input.nextLine'讀取整條生產線,其中包括數。你可以做的是使用'input.next()'得到「push」和'input.nextInt()'來獲得數字。 –
謝謝大衛,這工作! – Tyler