Calculadora simple con Java
Friday, 30 de January de 2009
Para todos nuestros amigos programadores que se setán recién iniciando en el tema, les tengo un pequeño tip para realizar una calculadora bastante simple, no me maten pero está hecha en una sola clase, les dije, es sólo un ejemplo.
Espero les sirva para poder hacer pruebas y familiarizarse con el lenguaje.
Acá el código fuente de la calculadora.
JAVA:
-
package calculadora;
-
-
import javax.swing.*;
-
import java.awt.*;
-
import java.awt.event.*;
-
-
-
boolean nuevo = true;
-
float  resultado_total = 0.0f;
-
String ultimo = "=";
-
Label pantalla = null;
-
Button b;
-
JPanel panel, panel2;
-
-
public Calculadora() {
-
setTitle("Calculadora");
-
-
setSize(200, 200);
-
-
Pantalla();
-
-
Teclado();
-
}
-
-
private void Pantalla() {
-
-
-
pantalla.setText("0");
-
-
panel.add(pantalla);
-
add("North", panel);
-
}
-
-
public void Teclado () {
-
-
-
-
-
-
add("Center", panel2);
-
}
-
-
-
b.setForeground(color);
-
-
panel2.add(b);
-
-
b.addActionListener( this );
-
}
-
-
-
-
// Logic based in a source of Santiago Pavón
-
-
float valor = 0;
-
try {
-
if (!digit.equals("C")) return;
-
}
-
-
if ("0123456789".indexOf(digit) != -1) {
-
-
if (nuevo) {
-
nuevo = false;
-
pantalla.setText(digit);
-
} else {
-
pantalla.setText(s + digit);
-
}
-
-
} else if (digit.equals(".")) {
-
-
if (nuevo) {
-
nuevo = false;
-
pantalla.setText("0.");
-
} else {
-
pantalla.setText(s + digit);
-
}
-
-
} else if (digit.equals("sqrt")) {
-
-
nuevo = true;
-
-
} else if (digit.equals("+/-")) {
-
-
valor = -valor;
-
nuevo = true;
-
-
} else if (digit.equals("C")) {
-
-
resultado_total = 0;
-
pantalla.setText("0");
-
ultimo = "=";
-
nuevo = true;
-
-
} else {
-
-
char c = ultimo.charAt(0);
-
-
switch (c) {
-
case '=': resultado_total = valor; break;
-
case '+': resultado_total += valor; break;
-
case '-': resultado_total -= valor; break;
-
case '*': resultado_total *= valor; break;
-
case '/': resultado_total /= valor; break;
-
}
-
ultimo = digit;
-
nuevo = true;
-
}
-
}
-
-
Calculadora cal = new Calculadora();
-
cal.show();
-
}
Y para los más flojos apurados les dejo el workspace completo para eclipse.
Comparte esto en :
Programación, java




Encuentrame en Flickr
este mismo yo lo hice con webservices.. jejej
Sobrado :reaggantwo: