I am stuck, I know how binary tree works, but I don't have any clue how to add data recursively in a binary tree.

The user needs to enter a formula with logical operators.
If the user presses to a button e.g NOT(unary operator), then it should display at follow : NOT(...)
Then instead of the 3 dots the user can enter manually a letter "b" or another operator by pressing any of the button (e.g AND) which is a binary operator.

NOT ( (...) AND (...)), then again the user have the choice to enter a letter or to press another button on the left hand-side and then on the right hand-side of the AND connector. NOT ( ( b ) AND ( a )).

This formula is terminated has AND is the root. and b and a are leaves.

but i dont know how to code this in java.

NEED HELP please i am struggling for almost 2 weeks

Attachments

## Featured Replies in this Discussion

• "NOT ( ( b ) AND ( a )) ... This formula is terminated has AND is the root" Are you sure? I would expect the resulting tree to look like this: ...
Post Contains: Code
• Something like: When the user selects the first operator that is the first node. When the use puts something in the ... to its left, that becomes the left sub-node of that node, similarly for the right ... If one of those sub-nodes is another operator then that's a new node with its own left and right sub-nodes. Maybe you just need to start coding something - eg just entering (a AND b) (no recursion…

"NOT ( ( b ) AND ( a )) ... This formula is terminated has AND is the root"

Are you sure? I would expect the resulting tree to look like this:

``````NOT
/   \
/     \
(null)   AND
/   \
/     \
a       b``````

:) You are right and it makes more sense... I think that's why I could not figure out the next steps... But I am still stuck :'(

Do you have any idea?

You are right and it makes more sense... I think that's why I could not figure out the next steps... But I am still stuck :(

Something like:
When the user selects the first operator that is the first node. When the use puts something in the ... to its left, that becomes the left sub-node of that node, similarly for the right ...
If one of those sub-nodes is another operator then that's a new node with its own left and right sub-nodes.

Maybe you just need to start coding something - eg just entering (a AND b) (no recursion needed here) then what you learn from doing that will help you towards the next step.

Question Answered as of 3 Years Ago by JamesCherrill

Thank you very much i was going on the wrong track :)... will try

You