hi.. i'm new in java and i'm not that familiar with the new things in java.. can you help me with this? i have this c code and i want to have it in java, and i have NO idea what to do coz i don't know what are the equivalents of the built-in methods in c with the built-in methods in java.. thanks a lot.. Code: #include <stdio.h> #include <conio.h> #define MAX_SIZE 512 struct Node_t { char oper; struct Node_t * left; struct Node_t * right; }; struct Node_t nodes[MAX_SIZE]; char last; struct Node_t * free_node; char GetNextChar(void) { char ret; do { ret = getchar(); } while ((ret == ' ') || (ret == '\t')); return ret; } struct Node_t * E(void); struct Node_t * T(void) { struct Node_t * ret_node; if (last == '(') { last = GetNextChar(); ret_node = E(); last = GetNextChar(); /* preskocit ')' */ return ret_node; } free_node->oper = last; last = GetNextChar(); /* preskocit terminator */ return free_node++; } /*struct Node_t * Ec(struct Node_t * left);*/ struct Node_t * Fc(struct Node_t * left) { struct Node_t * node; if ((last == '*') || (last == '/')) { node = free_node++; node->oper = last; last = GetNextChar(); node->left = left; node->right = T(); return Fc(node); } return left; } struct Node_t * F(void) { struct Node_t * left_node; left_node = T(); return Fc(left_node); } struct Node_t * Ec(struct Node_t * left) { struct Node_t * node; if ((last == '+') || (last == '-')) { node = free_node++; node->oper = last; last = GetNextChar(); node->left = left; node->right = F(); return Ec(node); } node = Fc(left); if ((last == '+') || (last == '-')) return Ec(node); return node; } struct Node_t * E(void) { struct Node_t * left_node; left_node = T(); return Ec(left_node); } void Print(struct Node_t * node, int prior) { int lpri, rpri; /*printf("[node: %p], prior: %d\n", node, prior);*/ /*printf(" {left: %p, oper: \'%c\', right: %p}\n", node->left, node->oper, node->right);*/ switch(node->oper) { case '+': lpri = rpri = 2; break; case '-': lpri = 2; rpri = 1; break; case '*': lpri = rpri = 1; break; case '/': lpri = 1; rpri = 0; break; default: putchar(node->oper); return; } if (lpri > prior) putchar('('); Print(node->left, lpri); putchar(node->oper); Print(node->right, rpri); if (lpri > prior) putchar(')'); } int main(void) { struct Node_t * node; int n; clrscr(); scanf("%d\n", &n); while (n--) { last = GetNextChar(); free_node = nodes; node = E(); Print(node, 4); printf("\n"); } return 0; getch(); } the code above does this task: it opens a txt file and then does this.. Sample Input 8 //test cases or the # of lines to be changed (a+(b*c)) ((a+b)*c) (a*(b*c)) (a*(b/c)*d) ((a/(b/c))/d) ((x)) (a+b)-(c-d)-(e/f) (a+b)+(c-d)-(e+f) Sample Output a+b*c (a+b)*c a*b*c a*b/c*d a/(b/c)/d x a+b-(c-d)-e/f a+b+c-d-(e+f) can you help me with this..