-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathADTCalculadora.java
More file actions
58 lines (51 loc) · 2.28 KB
/
ADTCalculadora.java
File metadata and controls
58 lines (51 loc) · 2.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/**
* Universidad del Valle de Guatemala
* Algoritmos y Estructura de Datos
* Sección: 10
* @author Diego Morales. Carné: 14012
* @author Diego Sosa. Carné: 14735
* @author Julio González. Carné: 14096
* 30/07/2015
* Hoja de Trabajo 2
*
*/
import java.io.FileNotFoundException;
/**
* Esta es la interfaz ADTCalculadora creada por los propios alumnos para
* utilizarlo en toda la sección. Practiacamente de esta interfaz se podrán
* hacer la lectura del archivo y realizar las operaciones. Esta clase recibe
* datos tipo string P
*
* @param <P> para que los datos sean String
*
*/
public interface ADTCalculadora<P> {
/**
* Permite la lectura de un archivo tipo String. Este archivo traerá una secuencia
* de caracteres que será una operación en formato postifix.
* El método permite traer el arhcivo y luego hará desaparecer los espacios en blanco
* para empezar a realizar el proceso de meter operandos a la pila y encontrar operadores.
*
* @param file un archivo tipo String que traerá datos,
* en este caso la operación en notación postfix
* @throws FileNotFoundException si no lee un archivo o no lo puede acceder
* @throws Exception son excepciones que pueden implementarse al ejecutar el constructor o el método
* En este método se utiliza un IOException, excepciones por entradas o salidas de
* datos incorrectos.
*/
public void readFile(String file) throws FileNotFoundException, Exception;
/**
* Este método realizará todas las operaciones deseada. Una vez tomada la cadena de
* caracteres sin espacios, empeiza buscando los operandos y los mete a la pila.
* Cuando va guardando los elementos a la pila push realiza una conversión de String a Integer,
* luego los saca pop y ya los opera según la jerarquía de operaciones.
* Los operandos serán números de un dígito, de 1-9 y las operaciones a realizar son:
* -, +, *, /, ^ Un operador o símbolo distinto de estos cinco, mostrará error.
*
* @return el valor resultante de la operación que está dentro de la pila
* el dato no es sacado de la pila, sólo retorna su valor.
* @throws Exception excepciones que pueden al ejecutar el constructor o el método.
* En este caso, retorna error de símbolo o caracter desconocido.
*/
public P calcular() throws Exception;
}