Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Please convert the following C code into java: #include<stdio.h> #include<proces

ID: 3562192 • Letter: P

Question

Please convert the following C code into java:

#include<stdio.h>

#include<process.h>

#include<string.h>

#include<ctype.h>

#include<conio.h>

#define size 30

struct stack

{

int top;

char item[30][7];

};

struct stack s1;

void push(char ele[])

{

s1.top=s1.top+1;

strcpy(s1.item[s1.top],ele);

}

int empty()

{

if(s1.top==-1)

return 1;

else

return 0;

}

char x[7];

char *pop()

{

if(empty())

printf(" invalid expression");

{

getch();

exit(0);

}

{

strcpy(x,s1.item[s1.top--]);

}

}

int isoperator(char c)

{

switch(c)

{

case '+':

case '-':

case '/':

case '*': return(1);

default : return(0);

}

}

void evaluate(char ch)

{

static int i=1;

char temp[7]={'T','e','m','p',''};

char op1[7],op2[7];

pop();

strcpy(op2,x);

pop();

strcpy(op1,x);

if(!strcmp(op1,"Temp"))

printf(" LD %s %d",op1,i-2);

else

printf(" LD %s",op1);

switch(ch)

{

case'+':if(!strcmp(op2,"Temp"))

     printf(" AD %s %d",op2,i-1);

     else

     printf(" AD %s",op2);

     push(temp);

     printf(" ST Temp %d",i);

     i=i+1;

     break;

case'*':if(!strcmp(op2,"Temp"))

     printf(" ML %s %d",op2,i-1);

     else

     printf(" ML %s",op2);

     push(temp);

     printf(" ST Temp %d",i);

     i=i+1;

     break;

case'-':if(!strcmp(op2,"Temp"))

     printf(" SB %s %d",op2,i-1);

     else

     printf(" SB %s",op2);

     push(temp);

     printf(" ST Temp %d",i);

     i=i+1;

     break;

case'/':if(!strcmp(op2,"Temp"))

     printf(" DV %s %d",op2,i-1);

     else

     printf(" DV %s",op2);

     push(temp);

     printf(" ST Temp %d",i);

     i=i+1;

default:break;

}

}

Explanation / Answer

public final class stack

{

private int top;

private char item[30][7];


   public stack clone()
   {
       stack varCopy = new stack();

       varCopy.top = this.top;
       varCopy.item = this.item;

       return varCopy;
   }
}

private struct stack s1;

private void push(char ele[])

{

s1.top = s1.top + 1;

strcpy(s1.item[s1.top],ele);

}

private int empty()

{

if (s1.top == -1)

{
return 1;
}

else

{
return 0;
}

}

private char x[7];

private char * pop()

{

if (empty())

{
printf(" invalid expression");
}

{

getch();

exit(0);

}

{

strcpy(x,s1.item[s1.top--]);

}

}

private int isoperator(char c)

{

switch (c)

{

case '+':

case '-':

case '/':

case '*':
   return (1);

default :
   return (0);

}

}

private void evaluate(char ch)

{

static int i = 1;

char temp[7] = {'T','e','m','p',''};

char op1[7],op2[7];

pop();

strcpy(op2,x);

pop();

strcpy(op1,x);

if (!strcmp(op1,"Temp"))

{
printf(" LD %s %d",op1,i - 2);
}

else

{
printf(" LD %s",op1);
}

switch (ch)

{

case'+':
if (!strcmp(op2,"Temp"))

{
   printf(" AD %s %d",op2,i - 1);
}

   else

   {
   printf(" AD %s",op2);
   }

   push(temp);

   printf(" ST Temp %d",i);

   i = i + 1;

   break;

case'*':
if (!strcmp(op2,"Temp"))

{
   printf(" ML %s %d",op2,i - 1);
}

   else

   {
   printf(" ML %s",op2);
   }

   push(temp);

   printf(" ST Temp %d",i);

   i = i + 1;

   break;

case'-':
if (!strcmp(op2,"Temp"))

{
   printf(" SB %s %d",op2,i - 1);
}

   else

   {
   printf(" SB %s",op2);
   }

   push(temp);

   printf(" ST Temp %d",i);

   i = i + 1;

   break;

case'/':
if (!strcmp(op2,"Temp"))

{
   printf(" DV %s %d",op2,i - 1);
}

   else

   {
   printf(" DV %s",op2);
   }

   push(temp);

   printf(" ST Temp %d",i);

   i = i + 1;

default:
   break;

}

}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote