Tareas
FUNCIÓN cPila
import java.util.ArrayList;
public class cPila extends ArrayList {
public void push(Object x){
this.add(x);
}
public Objectpop(){
Object x = null;
if(pilaVacia())
javax.swing.JOptionPane.showMessageDialog(null, "Existe un error en la expresion");
else{
x=this.remove(this.size()-1);
}
return x;
}
public boolean pilaVacia(){
boolean res = false;
if (this.size()==0){
res=true;
}
return res;
}
}
FUNCIÓN EsOperador
publicint esOperador(char caracter) {
int res = 0;
char operadores[] = {'+', '-', '*', '/'};
for (int i = 0; i < operadores.length; i++) {
if (caracter ==operadores[i]) {
res = 1;
}
}
return res;
}
Función generarCodigo
public void generarCodigo(String cadena) {this.jTextAreaCodigo.setText("");
int ct = 0;
String cad, operador1, operador2, cad2, cad3 = null, cad4;
Object op1, op2;
cPila pila = new cPila();
char[] subcadena = newchar[cadena.length()];
subcadena = cadena.toCharArray();
for (int i = 0; i < subcadena.length; i++) {
if (this.esOperador(subcadena[i]) == 0) {pila.push(subcadena[i]);
} else {
op2 = pila.pop();
op1 = pila.pop();
operador2 = op2.toString();
operador1 = op1.toString();cad = "T" + ct + "=" + operador1 + subcadena[i] + operador2 + ";";
this.jTextAreaCodigo.append(cad + "\n" + cad2 + "\n" + cad3 + "\n" + cad4 + "\n" + "\n");ct++;
pila.push("T" + ct);
}
}
}
INTERRUPCIONES DE ENTRADA Y SALIDA
Una petición de interrupción IRQ ("Interrupt Request")...
Regístrate para leer el documento completo.