Ver Mensaje Individual
  #4 (permalink)  
Antiguo 26/03/2005, 00:47
XDerekX
 
Fecha de Ingreso: enero-2005
Mensajes: 22
Antigüedad: 20 años
Puntos: 0
Solucionada la duda

Leyendo diferentes libros encontre la forma, y son las excepciones, o el manejo de errores, me fue muy bien y por fin supere este inconveniente que tenia.
Bueno para los que están aprendiendo como yo y tiene esta misma duda colocare un ejemplo, si tiene alguna pregunta a cerca del código solo escriban aquí.
Bueno este código es con una interface de usuario, es muy simple, pero es un bueno comienzo.
Hace una suma de dos números, por una parte suma dos números enteros; por la otra parte suma dos números con punto flotante, el caso es que detecta cuando ingresamos algún carácter o símbolo especial, en fin pruébenlo y me comentan.

public class Suma2numeros extends Applet
{
private Label l1, l2, lRta, l3, l4, lSol;
private TextField t1, t2, tRta, t3, t4, tSol;
private Button ejecutar, correr;

private int num1, num2, numRta;
private double num3, num4, numSol;

public void init()
{
setLayout(null);

l1 = new Label("numero 1: ");
t1 = new TextField(10);

l2 = new Label("numero 2: ");
t2 = new TextField(10);

lRta = new Label("Total = ");
tRta = new TextField(10);

tRta.setEditable(false);

ejecutar = new Button("SUMAR >>>");

l3 = new Label("number 1: ");
t3 = new TextField(10);

l4 = new Label("number 2:");
t4 = new TextField(10);

lSol = new Label("RTA =");
tSol = new TextField(10);

tSol.setEditable(false);

correr = new Button("SUMAR>>>");

add(l1);
add(t1);
add(l2);
add(t2);
add(lRta);
add(tRta);
add(ejecutar);

add(l3);
add(t3);
add(l4);
add(t4);
add(lSol);
add(tSol);
add(correr);

l1.reshape(10, 10, 60, 20);
t1.reshape(80, 10, 60, 20);
l2.reshape(10, 40, 60, 20);
t2.reshape(80, 40, 60, 20);
lRta.reshape(10, 70, 60, 20);
tRta.reshape(80, 70, 60, 20);
ejecutar.reshape(60, 100, 80, 20);

l3.reshape(200, 10, 60, 20);
t3.reshape(270, 10, 60, 20);
l4.reshape(200, 40, 60, 20);
t4.reshape(270, 40, 60, 20);
lSol.reshape(200, 70, 60, 20);
tSol.reshape(270, 70, 60, 20);
correr.reshape(250, 100, 80, 20);
}

public boolean action(Event e, Object o)
{
if(e.target == ejecutar)
{
try
{
num1 = Integer.parseInt(t1.getText() );
num2 = Integer.parseInt(t2.getText() );

numRta = num1 + num2;
tRta.setText("" + numRta);
repaint();
}

catch(NumberFormatException msg)
{
// Si hubo error entra a este bloque
tRta.setText("Error");
showStatus("Digite solo numeros enteros, no digite letras ni caracteres");
repaint();
}
}