Sie sind auf Seite 1von 1

import java.util.

Scanner;
public class pile {
static Scanner clavier = new Scanner (System.in);

public static void main(String[] args) {


System.out.println("donner 1 expression arithmetique : ");
String []exp=new String[20];
int i=0;
do {
exp[i]=clavier.next();
i++;
}while(exp[i-1].charAt(0)!='#');
System.out.println("le resultat est :"+eval1(exp));
}
static int calcul(int x, char op, int y) {
int c=0;
switch (op) {
case '+': c=x+y;
break;
case '*': c=x*y;
break;
case '-': c=x-y;
break;
case '/': c=x/y;
break;
}
return c;
}
static void eval2(String x, pille p ) {
if ((x.charAt(0)=='+')||(x.charAt(0)=='-')||(x.charAt(0)=='*')||
(x.charAt(0)=='/')) {
int a= Integer.parseInt(p.sommet().toString()); // int <-----string
p.depiler();
int b= Integer.parseInt(p.sommet().toString());
p.depiler();
int c= calcul(b,x.charAt(0),a);
p.empiler(c);}
else
p.empiler(x);
}

static int eval1(String []U) {


pille p=new pille();
int i=0;
while (U[i].charAt(0)!='#') {
eval2(U[i],p);
i=i+1;
}
return(int)p.sommet();
}
}

Das könnte Ihnen auch gefallen