| Author |
how to set a node on expression tree
|
Dustin Schreader
Ranch Hand
Joined: May 25, 2009
Posts: 102
|
|
I'm trying to build an expression tree for the first time. There will be a prefix expression entered and I am thinking that I can check if there is an operator and if there is I can set the root node equal to the operator and if a number is the next character I can and the next char will be an int as well so i'd but I get an error because the interface is set to take TreeNode parameter. How Do I get it to accept an int as a TreeNode? This is what I have so far.
And this is my interface
|
 |
Dustin Schreader
Ranch Hand
Joined: May 25, 2009
Posts: 102
|
|
|
I'm getting an error that says I cannot use an int where TreeNode is supposed to be.
|
 |
Paul Clapham
Bartender
Joined: Oct 14, 2005
Posts: 16483
|
|
|
So use a TreeNode then. Your TreeNode can contain any object, can't it? Or at least you should have an implementation which can act as a leaf of the tree and contain an integer or a variable, right?
|
 |
Dustin Schreader
Ranch Hand
Joined: May 25, 2009
Posts: 102
|
|
So instead of making single int type i'd make it TreeNode type and the Character.isDigit((Char)single)) would still work, I get it know. I feel silly now thanks.
|
 |
Dustin Schreader
Ranch Hand
Joined: May 25, 2009
Posts: 102
|
|
|
Will I still be able to apply an operator(+, -, *, /) to the number if it is of type TreeNode?
|
 |
Dustin Schreader
Ranch Hand
Joined: May 25, 2009
Posts: 102
|
|
|
No I get an error since I'm using Character.isDigit((char)single)).
|
 |
Campbell Ritchie
Sheriff
Joined: Oct 13, 2005
Posts: 32644
|
|
|
You do realise that the value of a char like '2' is not 2? A char is not a character, but a number, so you need to check whether you are passing 2, or more likely 0x32 (=50 in decimal) for that char '2'.
|
 |
Dustin Schreader
Ranch Hand
Joined: May 25, 2009
Posts: 102
|
|
|
I understand somewhat... So I need to remove (char) and Character and have single of type TreeNode so it may work?
|
 |
 |
|
|
subject: how to set a node on expression tree
|
|
|