-2

私の質問は「接尾辞」表記についてです。私のプロジェクトでは、インストラクターは私から後置記法を計算することを望んでいました。プログラミングスタイルは無料ですが、プログラミング言語はJavaです。Javaでコードを記述しますが、スタック、キューなどの抽象データ型は得意ではありません。スタック、二重リンクリスト、キューなしで後置記法を計算する方法はありますか?

4

1 に答える 1

0

これは、スタックでどのように機能するかです。

@SuppressWarnings({"rawtypes", "unchecked"})
public static void main(String[] args) {
  final String in = "5 9 + 2 * 6 5 * +";
  final Deque<Object> s = new LinkedList();
  for (String t : in.split(" ")) {
    if (t.equals("+")) s.push((Integer)s.pop() + (Integer)s.pop());
    else if (t.equals("*")) s.push((Integer)s.pop() * (Integer)s.pop());
    else s.push(Integer.parseInt(t));
  }
  System.out.println(s.pop());
}
于 2012-04-20T08:27:23.937 に答える