Mensajes [1] - Enviado el Viernes 06 de Julio de 2007 a las 17:18hs
Hola mundo jiji miren tengo un problemita tengo un codigo de una calculadora postfija( con pila) pero al ejecutarla se queda pegada alguien me podria ayudar ya que soy nuevo en esto
este es mi codigo
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Calculadora extends JFrame implements ActionListener {
String var="*";
Pila p=new Pila();
int num;
int ele;
//
Label pantalla = null;
Button b;
JPanel panel, panel2;
public Calculadora() {
setTitle("CALCULADORA");
setSize(250, 250);
Pantalla();
Teclado();
}
private void Pantalla() {
panel = new JPanel();
panel.setLayout(new GridLayout(1, 1));
pantalla = new Label();
pantalla.setText("0");
pantalla.setAlignment(Label.RIGHT);
pantalla.setForeground(Color.black);
pantalla.setBackground(Color.white);
panel.add(pantalla);
add("North", panel);
}
public void Teclado () {
panel2 = new JPanel();
panel2.setLayout(new GridLayout(4, 4));
addBoton("7", Color.blue);
addBoton("8", Color.blue);
addBoton("9", Color.blue);
addBoton("/", Color.red);
addBoton("C", Color.red);
addBoton("4", Color.blue);
addBoton("5", Color.blue);
addBoton("6", Color.blue);
addBoton("*", Color.red);
addBoton("sqrt", Color.red);
addBoton("1", Color.blue);
addBoton("2", Color.blue);
addBoton("3", Color.blue);
addBoton("-", Color.red);
addBoton("AC", Color.red);
addBoton("0", Color.blue);
addBoton("+/-", Color.red);
addBoton(".", Color.red);
addBoton("+", Color.red);
addBoton("=", Color.red);
add("Center", panel2);
}
private void addBoton(String n, Color color) {
b = new Button(n);
b.setForeground(color);
panel2.add(b);
b.addActionListener( this );
}
public void actionPerformed(ActionEvent event) {
String var = event.getActionCommand();
String s = pantalla.getText();
while (var.compareTo("q")!=0)
{
try
{
num=Integer.parseInt(var);
p.push(num);
}
catch(Exception e)
{
ele=-9;
if (var.compareTo("+")==0)
{
ele=p.elementos();
if (ele > 1)
p.sumar();
else
System.out.println ("no puede sumar, solo tiene 1 elemento");
}
//
if (var.compareTo("-")==0)
{
ele=p.elementos();
if (ele > 1)
p.restar();
else
System.out.println ("no puede restar, solo tiene 1 elemento");
}
//
if (var.compareTo("*")==0)
{
ele=p.elementos();
if (ele > 1)
p.multiplicar();
else
System.out.println ("no puede multiplicar, solo tiene 1 elemento");
}
//
if (var.compareTo("/")==0)
{
ele=p.elementos();
if (ele > 1)
p.dividir();
else
System.out.println ("no puede dividir, solo tiene 1 elemento");
}
//
if (var.compareTo("=")==0)
{
System.out.println ("resultado ="+p.pop());
ele=1;
}
if (ele==-1 && var.compareTo("q")==1)
System.out.println ("Debe ingresar un caracter valido");
}
}
}
public static void main(String[] args) {
Calculadora cal = new Calculadora();
cal.show();
}
}
____________________________________
alguien me ayude es para un trabajo gracias