Java
*Espero me puedas ayudar con mi programa, mi problema es con un programa hecho en java que se supone debe tener las funciones de una calculadora, el programa es el siguiente(Creo que el problema esta en la ultima parte):
import java.awt.*;
import java.awt.event.*;
public class Calculadora implements ActionListener{
Frame frame;
TextField tx1;
Button b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,bMas,bMenos,bPor,bEntre,bPunto;
Button bIgual,Ac,bPorciento,bRaiz,bCuadrado;
boolean bp=false;
boolean bandera=true;
double x=0,y=0;
char z;
public Calculadora(){
frame=new Frame();
frame.setLayout(new FlowLayout());
tx1=new TextField(50);
b0=new Button("0");
b0.addActionListener(this);
b1=new Button("1");
b1.addActionListener(this);
b2=new Button("2");
b2.addActionListener(this);
b3=new Button("3");
b3.addActionListener(this);
b4=new Button("4");
b4.addActionListener(this);
b5=new Button("5");
b5.addActionListener(this);
b6=new Button("6");
b6.addActionListener(this);
b7=new Button("7");
b7.addActionListener(this);
b8=new Button("8");
b8.addActionListener(this);
b9=new Button("9");
b9.addActionListener(this);
bMas=new Button("+");
bMas.addActionListener(this);
bMenos=new Button("-");
bMenos.addActionListener(this);
bPor=new Button("*");
bPor.addActionListener(this);
bEntre=new Button("/");
bEntre.addActionListener(this);
bPunto=new Button(".");
bPunto.addActionListener(this);
bIgual=new Button("=");
bIgual.addActionListener(this);
Ac=new Button("AC");
Ac.addActionListener(this);
bPorciento=new Button("%");
bPorciento.addActionListener(this);
bRaiz=new Button("Raiz Cuadrada");
bRaiz.addActionListener(this);
bCuadrado=new Button("x*x");
bCuadrado.addActionListener(this);
frame.add(tx1);
frame.add(b0);
frame.add(b1);
frame.add(b2);
frame.add(b3);
frame.add(b4);
frame.add(b5);
frame.add(b6);
frame.add(b7);
frame.add(b8);
frame.add(b9);
frame.add(bMas);
frame.add(bMenos);
frame.add(bPor);
frame.add(bEntre);
frame.add(bPunto);
frame.add(bIgual);
frame.add(Ac);
frame.add(bPorciento);
frame.add(bRaiz);
frame.add(bCuadrado);
frame.setSize(400,400);
frame.show();
}
public void actionPerformed(ActionEvent e){
char tecla;
tecla=e.getActionCommand().charAt(0);
if (Character.isDigit(tecla))
tx1.setText(tx1.getText()+tecla);
else
if (tecla=='.'){
if (!bp){
tx1.setText(tx1.getText()+tecla);
bp=true;
}
}
else
if(tecla=='A'){
tx1.setText("");
bp=false;
x=0;
y=0;
bandera=true;
bp=false;
}
else
if(tecla=='R'){
x=Double.parseDouble(tx1.getText());
x=Math.sqrt(x);
tx1.setText(String.valueOf(x));
}
else
if(tecla=='x'){
x=Double.parseDouble(tx1.getText());
x=Math.pow(x,2);
tx1.setText(String.valueOf(x));
}
else
if(tecla=='='){
y=0;
Reduce();
tx1.setText(String.valueOf(x));
}
else
if(bandera){
bandera=false;
x=Double.parseDouble(tx1.getText());
}
else
y=0;
z=tecla;
tx1.setText("");
bandera=true;
bp=false;
}
public static void main(String arg[]){
Calculadora Cal=new Calculadora();
}
public void Reduce(){
switch(z){
case '+':x+=y;
break;
case '-':x-=y;
break;
case '*':x*=y;
break;
case '/':x/=y;
break;
case '%':x=x*y/100;
break;
}
}
}
*Espero que me puedas ayudar con este gran problema que tengo.
import java.awt.*;
import java.awt.event.*;
public class Calculadora implements ActionListener{
Frame frame;
TextField tx1;
Button b0,b1,b2,b3,b4,b5,b6,b7,b8,b9,bMas,bMenos,bPor,bEntre,bPunto;
Button bIgual,Ac,bPorciento,bRaiz,bCuadrado;
boolean bp=false;
boolean bandera=true;
double x=0,y=0;
char z;
public Calculadora(){
frame=new Frame();
frame.setLayout(new FlowLayout());
tx1=new TextField(50);
b0=new Button("0");
b0.addActionListener(this);
b1=new Button("1");
b1.addActionListener(this);
b2=new Button("2");
b2.addActionListener(this);
b3=new Button("3");
b3.addActionListener(this);
b4=new Button("4");
b4.addActionListener(this);
b5=new Button("5");
b5.addActionListener(this);
b6=new Button("6");
b6.addActionListener(this);
b7=new Button("7");
b7.addActionListener(this);
b8=new Button("8");
b8.addActionListener(this);
b9=new Button("9");
b9.addActionListener(this);
bMas=new Button("+");
bMas.addActionListener(this);
bMenos=new Button("-");
bMenos.addActionListener(this);
bPor=new Button("*");
bPor.addActionListener(this);
bEntre=new Button("/");
bEntre.addActionListener(this);
bPunto=new Button(".");
bPunto.addActionListener(this);
bIgual=new Button("=");
bIgual.addActionListener(this);
Ac=new Button("AC");
Ac.addActionListener(this);
bPorciento=new Button("%");
bPorciento.addActionListener(this);
bRaiz=new Button("Raiz Cuadrada");
bRaiz.addActionListener(this);
bCuadrado=new Button("x*x");
bCuadrado.addActionListener(this);
frame.add(tx1);
frame.add(b0);
frame.add(b1);
frame.add(b2);
frame.add(b3);
frame.add(b4);
frame.add(b5);
frame.add(b6);
frame.add(b7);
frame.add(b8);
frame.add(b9);
frame.add(bMas);
frame.add(bMenos);
frame.add(bPor);
frame.add(bEntre);
frame.add(bPunto);
frame.add(bIgual);
frame.add(Ac);
frame.add(bPorciento);
frame.add(bRaiz);
frame.add(bCuadrado);
frame.setSize(400,400);
frame.show();
}
public void actionPerformed(ActionEvent e){
char tecla;
tecla=e.getActionCommand().charAt(0);
if (Character.isDigit(tecla))
tx1.setText(tx1.getText()+tecla);
else
if (tecla=='.'){
if (!bp){
tx1.setText(tx1.getText()+tecla);
bp=true;
}
}
else
if(tecla=='A'){
tx1.setText("");
bp=false;
x=0;
y=0;
bandera=true;
bp=false;
}
else
if(tecla=='R'){
x=Double.parseDouble(tx1.getText());
x=Math.sqrt(x);
tx1.setText(String.valueOf(x));
}
else
if(tecla=='x'){
x=Double.parseDouble(tx1.getText());
x=Math.pow(x,2);
tx1.setText(String.valueOf(x));
}
else
if(tecla=='='){
y=0;
Reduce();
tx1.setText(String.valueOf(x));
}
else
if(bandera){
bandera=false;
x=Double.parseDouble(tx1.getText());
}
else
y=0;
z=tecla;
tx1.setText("");
bandera=true;
bp=false;
}
public static void main(String arg[]){
Calculadora Cal=new Calculadora();
}
public void Reduce(){
switch(z){
case '+':x+=y;
break;
case '-':x-=y;
break;
case '*':x*=y;
break;
case '/':x/=y;
break;
case '%':x=x*y/100;
break;
}
}
}
*Espero que me puedas ayudar con este gran problema que tengo.
Respuesta de rogersr
1
2 respuestas más de otros expertos
Respuesta de stevgav
1
Respuesta de virmix
1