私がやろうとしているのは、 eval 変数を取得して、その文字をそれぞれスタックに入れてから出力することです。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)