Write a program in java to translate infix mathematical expression into postfix expression and a program to evaluate the posfix expression. There should be three separate progams. use stack data abstraction and class implementation. The program has three verions. The first version uses array implementation, the second version uses linked lsit, and the third one uses double linked list stack implementation in the abstraction. First read and output data using std. then use the files. Use the stds only for the first version.
Please explain how you did each version and write lots of comments (to expalin what you do in the code). The expression can have the following; +,-,*,/,(,), and the program has to beable to do more than just single digits convertion and evaluation.