2012-01-23 14 views
-5

まあ、それは不可能なようです。しかし、どのようにして後置式を評価することができますか?Javaで混合型の配列リストを作成する

Ok:もう一度お試しください。

私は基本的な電卓を作りたいと思います。ユーザーは入力番号を書きます。私はスタック(リスト)にこれらを追加したい、そしてユーザーがヒット/書き込みを実行するとき、プログラムはそれを後置式で評価しなければならない。

+1

この質問の意味を理解しやすくするために、より多くの情報を提供する必要があります。 – Jesper

答えて

4

ExpressionTokenの基本クラスを作成し、NumberTokenとOperatorTokenでそれを拡張します。 ArrayListをExpressionTokensのリストとしてパラメータ化します。

0

あなたは、単にArrayListObjectのSを作成し、あなたが内部の望む任意の型に置くことができます。

List<Object> list = new ArrayList<Object>(); 

今、あなたは何も追加できます。あなたは解凍するとき、あなたは戻ってObjectを取得し、その実際の型をテストすることを確認します。

if(list.get(i) instanceof Number) { 
    // 
} else if(list.get(i) instanceof Operator) { 
    // 
} 

これはあなたがそれぞれ数と演算子を表すために、あなたのプログラムで定義されたクラスNumberOperatorを持っていると仮定しています。

+0

なぜdownvote? – Tudor

+0

'Object'sのリストを作成してキャスティングを追加することで、コードがより難しくなり、エラーが発生しやすくなり、一般的には悪い習慣になります。 – Vadim

関連する問題