Este fin de semana tuve que entregar como parte de mi evaluación de la materia una calculadora en Java, y esto fue el resultado:
/**
* @(#)Calculadora.java
*
*
* @Jesús Manuel González Gómez
* @Calculadora version 1.00 2007/11/10
*/
public class Calculadora extends Applet
{
public void init()
{
Interfaz();
}
public void Interfaz()
{
//Se declaran toda la parte de interfaz.
lab_1 = new Label ();
lab_1.setBounds(20,60,260,30);
lab_1.setFont(new Font(“serif”, Font.BOLD, 20));
lab_1.setBackground(Color.lightGray);
lab_2 = new Label (“** Calculadora **”);
lab_2.setBounds(70,30,160,20);
lab_2.setFont(new Font(“serif”, Font.BOLD, 20));
lab_2.setBackground(Color.lightGray);
lab_2.setForeground(Color.blue);
tex_1 = new TextField ();
tex_1.setBounds(20,100,260,30);
tex_1.setFont(new Font(“serif”, Font.BOLD, 20));
tex_1.setEditable(false);
but_0 = new Button(“0″);
but_0.setBounds(20,290,92,40);
but_0.setFont(new Font(“serif”, Font.BOLD, 20));
but_0.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
tex_1.setText(tex_1.getText()+”0″);
}
});
but_1 = new Button(“1″);
but_1.setBounds(20,150,46,46);
but_1.setFont(new Font(“serif”, Font.BOLD, 20));
but_1.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
tex_1.setText(tex_1.getText()+”1″);
}
});
but_2 = new Button(“2″);
but_2.setBounds(66,150,46,46);
but_2.setFont(new Font(“serif”, Font.BOLD, 20));
but_2.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
tex_1.setText(tex_1.getText()+”2″);
}
});
but_3 = new Button(“3″);
but_3.setBounds(112,150,46,46);
but_3.setFont(new Font(“serif”, Font.BOLD, 20));
but_3.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
tex_1.setText(tex_1.getText()+”3″);
}
});
but_4 = new Button(“4″);
but_4.setBounds(20,196,46,46);
but_4.setFont(new Font(“serif”, Font.BOLD, 20));
but_4.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
tex_1.setText(tex_1.getText()+”4″);
}
});
but_5 = new Button(“5″);
but_5.setBounds(66,196,46,46);
but_5.setFont(new Font(“serif”, Font.BOLD, 20));
but_5.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
tex_1.setText(tex_1.getText()+”5″);
}
});
but_6 = new Button(“6″);
but_6.setBounds(112,196,46,46);
but_6.setFont(new Font(“serif”, Font.BOLD, 20));
but_6.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
tex_1.setText(tex_1.getText()+”6″);
}
});
but_7 = new Button(“7″);
but_7.setBounds(20,242,46,46);
but_7.setFont(new Font(“serif”, Font.BOLD, 20));
but_7.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
tex_1.setText(tex_1.getText()+”7″);
}
});
but_8 = new Button(“8″);
but_8.setBounds(66,242,46,46);
but_8.setFont(new Font(“serif”, Font.BOLD, 20));
but_8.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
tex_1.setText(tex_1.getText()+”8″);
}
});
but_9 = new Button(“9″);
but_9.setBounds(112,242,46,46);
but_9.setFont(new Font(“serif”, Font.BOLD, 20));
but_9.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
tex_1.setText(tex_1.getText()+”9″);
}
});
but_pun = new Button(“,”);
but_pun.setBounds(112,290,46,40);
but_pun.setFont(new Font(“serif”, Font.BOLD, 20));
but_pun.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
tex_1.setText(tex_1.getText()+”.”);
}
});
but_mas = new Button(“+”);
but_mas.setBounds(188,242,46,92);
but_mas.setFont(new Font(“serif”, Font.BOLD, 20));
but_mas.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
mas();
}
});
but_men = new Button(“-”);
but_men.setBounds(234,288,46,46);
but_men.setFont(new Font(“serif”, Font.BOLD, 20));
but_men.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
menos();
}
});
but_por = new Button(“*”);
but_por.setBounds(188,196,46,46);
but_por.setFont(new Font(“serif”, Font.BOLD, 20));
but_por.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
por();
}
});
but_div = new Button(“/”);
but_div.setBounds(234,196,46,46);
but_div.setFont(new Font(“serif”, Font.BOLD, 20));
but_div.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
divide();
}
});
but_mod = new Button(“mem”); //Merodo para guardar en memoria
but_mod.setBounds(234,242,46,46);
but_mod.setFont(new Font(“serif”, Font.BOLD, 20));
but_mod.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
mod();
}
});
but_igu = new Button(“=”);
but_igu.setBounds(75,345,150,55);
but_igu.setFont(new Font(“serif”, Font.BOLD, 20));
but_igu.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
resultado();
}
});
but_mm = new Button(“+/-”);
but_mm.setBounds(234,150,46,42);
but_mm.setFont(new Font(“serif”, Font.BOLD, 20));
but_mm.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
mm();
}
});
but_bor = new Button(“C A”);
but_bor.setBounds(188,150,46,42);
but_bor.setFont(new Font(“serif”, Font.BOLD, 20));
but_bor.addActionListener (new ActionListener()
{
public void actionPerformed (ActionEvent e)
{
borrar();
}
});
//Se añaden los objetos
add(lab_2);
add(lab_1);
add(tex_1);
add(but_1); add(but_2); add(but_3);
add(but_4); add(but_5); add(but_6);
add(but_7); add(but_8); add(but_9);
add(but_0) ; add(but_pun);
add(but_por); add(but_div);
add(but_mas); add(but_mod);
add(but_men);
add(but_igu);
add(but_bor); add(but_mm);
//Color de fondo
setBackground(Color.white);
setLayout(null);
}
public void mm() //Metodo para cambial el signo alas cantidades
{
double num;
num=Double.parseDouble(tex_1.getText());
num=num*(-1);
tex_1.setText(Double.toString(num));
}
public void mas() //Metodo para sumar
{
ope = ‘+’;
//resultado();
mat[0]=Double.parseDouble(tex_1.getText());
lab_1.setText(tex_1.getText()+ope);
tex_1.setText(“”);
}
public void menos() //Metodo para restar
{
ope = ‘-’;
mat[0]=Double.parseDouble(tex_1.getText());
lab_1.setText(tex_1.getText()+” – “);
tex_1.setText(“”);
}
public void por() //Metodo para Multiplicar
{
ope = ‘*’;
mat[0]=Double.parseDouble(tex_1.getText());
lab_1.setText(tex_1.getText()+” * “);
tex_1.setText(“”);
}
public void divide() //Metodo para Dividir
{
ope = ‘/’;
mat[0]=Double.parseDouble(tex_1.getText());
lab_1.setText(tex_1.getText()+” / “);
tex_1.setText(“”);
}
public void mod() //Metodo para guardar en memoria
{
ope = ‘m’;
mat[0]=Double.parseDouble(tex_1.getText());
lab_1.setText(tex_1.getText()+” mod “);
tex_1.setText(“”);
}
public void borrar() //Borran cantidad
{
mat[0]=mat[1]=mat[2]=0;
lab_1.setText(“No Hay Operacion…”);
tex_1.setText(“”);
ope=’0′;
}
public void resultado() //Mostrar el resultado
{
if (tex_1.getText().equals(“”))
{
mat[1]=0;
}
else
{
mat[1]=Double.parseDouble(tex_1.getText());
lab_1.setText(Double.toString(mat[0])+ope+Double.toString(mat[1]));
switch (ope)
{
case ‘+’:
mat[2]=mat[0]+mat[1];
tex_1.setText(Double.toString(mat[2]));
break;
case ‘-’:
mat[2]=mat[0]-mat[1];
tex_1.setText(Double.toString(mat[2]));
break;
case ‘*’:
mat[2]=mat[0]*mat[1];
tex_1.setText(Double.toString(mat[2]));
break;
case ‘/’:
mat[2]=mat[0]/mat[1];
tex_1.setText(Double.toString(mat[2]));
break;
case ‘m’:
mat[2]=mat[0]%mat[1];
tex_1.setText(Double.toString(mat[2]));
break;
}
mat[0]=mat[2];
mat[1]=0;
}
}
TextField tex_1;
Label lab_1,lab_2;
Button but_0,but_1,but_2,but_3,but_4,but_5,but_6,but_7,but_8,but_9,but_mas,but_men,but_por,but_div,but_mod,but_igu,but_bor,but_pun,but_mm;
double[] mat = new double[]{0,0,0};
char ope=’0′;
}
Archivado bajo: Java, Programación, SISTEMAS, TEGNOLOGIA Y MÁS.., UN POCO DE MI...
Tu codigo esta incompleto y defectuoso,
se te paso de largo suponer el tratamiento de excepciones
esta bueno, graicas, me ayudas de mucho. pero yo estoy haciendo la calculadora de otra manera… me gustaria saber como hago para concatar un numero con otro osea solo la calculadora me marca 11 y si pongo suma se sumara 1+1 pues yo quiero poner 11 y el programa sepa q es un numero de dos valores… sera de gran ayuda si me dices
disculpeme pero la estructura es muy popco entendible
hola, oye gracias me has dado una idea para crear uno pero ste sera como un login y pass, como loq tiene movistar en el envio de mensaje
necesito saber como crear un applet que pase de grados centigrados a farenheit
yo nececito algo del applet para matematicas y como abrirlo
Tu codigo no funciona para nada, no puedo copiar…jeje
lo del 11, yo creo que no es dificil…. con que devidas el numero entre 10, guardando la solucion como primer termino y el resto, como segundo.