Interfaz.java
1 /**
2 * Interfaz.java
3 * @author Luis Alejandro Bernal
4 * La interfaz por consola de la calculadora posfija
5 */
6 import java.io.BufferedReader;
7 import java.io.IOException;
8 import java.io.InputStreamReader;
9
10 public class Interfaz {
11
12
13 /**
14 * @param args
15 */
16 public static void main(String[] args) {
17 // TODO Auto-generated method stub
18 CalculadoraPosfija c = new CalculadoraPosfija();
19 BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
20 String cad;
21 int num;
22
23 try{
24 while((cad = in.readLine()) != null){
25 try{
26 if(cad.equals("+")){
27 num = c.sumar();
28 System.out.println(num);
29 }
30 else if(cad.equals("-")){
31 num = c.restar();
32 System.out.println(num);
33 }
34 else if(cad.equals("*")){
35 num = c.multiplicar();
36 System.out.println(num);
37 }
38 else if(cad.equals("/")){
39 num = c.dividir();
40 System.out.println(num);
41 }
42 else{
43 num = Integer.parseInt(cad);
44 c.apilar(num);
45 }
46 }
47 catch(NumberFormatException e){
48 System.err.println("Error en el formato del número");
49 }
50 catch(ArithmeticException e){
51 System.err.println("Error: Dvisión por cero");
52 }
53 catch(PilaDeEnteros.UnderFlowException e){
54 System.err.println("Error: Pila vacia");
55 }
56 catch(PilaDeEnteros.OverFlowException e){
57 System.err.print("Error: Pila llena");
58 }
59 }
60 } catch(IOException e){
61 System.err.println("Error de entrada salida");
62 }
63 }
64
65 }
