• 締切済み

java

大学で、javaをやっているのですが、わからないので、教えてください。内容は以下のことです。 LinkedListを使用して、Stack Calculatorを作成する。以下のように出力させる。 Commands: push n, add, sub, mult, div, clear, or quit. ? push 4 4.0 ? push 3 3.0 4.0 ? push 2 4.0 3.0 2.0 ? mult 6.0 4.0 ? add 10.0 ? clear empty ? quit Thanks for using the Stack Calculator. ちなみにStackCalculatorクラスは、以下のメソッドを持つ void push(double x) double x pop() double add() double subtract() double multiply() double divide() void clear() double[] getValues() int size() getValuesメソッドは、LinkedListのtoArrayメソッドを使用する。

みんなの回答

  • R_Earl
  • ベストアンサー率55% (473/849)
回答No.1

まずは「スタック」というデータ構造について調べて、理解してみましょう。 また、課題に取り組む前に、サンプルプログラムを真似て実行させたり、 サンプルプログラムを書き換えて実行させる等して、 LinkedListの使い方を理解して下さい。 それらができれば、この課題を解けるようになると思います。 LinkedListにどのような機能があるか分からない場合、 次のサイトを見て調べてみましょう。 http://java.sun.com/javase/ja/6/docs/ja/api/java/util/LinkedList.html > ちなみにStackCalculatorクラスは、以下のメソッドを持つ > void push(double x) > double x pop() > double add() > double subtract() > double multiply() > double divide() > void clear() > double[] getValues() > int size() LinkedListには元からpushメソッドとpopメソッドがあるので、 それらを使えば > void push(double x) > double x pop() の2つは完成します(多分)。 継承してしまえば、わざわざ作る必要もないですが…。 add, substract, multiply, divideに関しては、 まず「逆ポーランド記法」について調べてみると良いと思います。 ウィキペディアの「逆ポーランド記法」のページは特にヒントになると思います。 clearメソッドに関しては、 LinkedListのremoveメソッドあたりを利用すると良いと思います。 getValuesメソッドに関しては > getValuesメソッドは、LinkedListのtoArrayメソッドを使用する。 の通りにやれば良いと思います。 sizeメソッドに関しては、LinkedListのsizeメソッドを使えば良いと思います (こちらも継承してしまえば、作る必要はないです)。 課題で作る各メソッドが何をするものなのか全く書かれていないので、 あっているかは分かりませんが…。

noname#150568
質問者

お礼

ありがとうございました。各メソッドの機能はそれであってます。

関連するQ&A