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

Recommended Answers

All 5 Replies

"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.

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

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.