我想要做的是讓eval變量將每個字母放入一個堆棧然後打印出來。我得到一個EmptyStackException錯誤(假設這意味着堆棧中沒有任何東西)。我不明白的是我認爲eval字符串被放入變量堆棧。爲什麼它是空的?Stack Stack in Empty EmptyStackException錯誤
public static void main(String[] args)
{
Stack<String> variable = new Stack<String>();
String eval = StdIn.readString();
String alphabet = "abcdefghjiklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
for (int i = 0; i < eval.length(); i++)
{
eval = eval.substring(i,i);
if (eval.equals(alphabet.substring(0, 52)))// checks if eval is equal to any letter of alphabet
{
variable.push(eval);
System.out.println(variable.pop());
}
}
}
}
進出口使用日食
樣品試驗:
input: hello
Exception in thread "main" java.util.EmptyStackException
at java.util.Stack.peek(Unknown Source)
at java.util.Stack.pop(Unknown Source)
at eval.main(eval.java:31)
您的代碼要求eval匹配整個字母表。 – nullpotent
這裏要做的一件有用的事情是發佈一些示例運行和回溯。 – Colleen
eval等於我輸入的任何單詞。例如,我希望程序通過在單獨一行中打印每個字母來打印「單詞」。 – iii