Hoy se va a mostrar un ejemplo de un programa que tiene varios objetivos de aprendizaje, se pretende mostrar el uso de variables char, también muestra de nuevo la instrucción switch y aparte servirá para mostrar como se usa el depurador del NetBeans, dando clic aquí aquí puedes ver la definición de lo que es un depurador desde la wikipedia.
Paso 1 Interfaz de usuario
La interfaz de usuario es bien sencilla, requiere de un TextField para que se ingrese el valor alfanumérico y un StringItem para mostrar el resultado, obviamente requiere de un okCommand para ejecutar la acción deseada.
Paso 2 Código
Pues lo de siempre, leer el valor del TextField, este valor recuérdese es de tipo String, lo leemos así:
Recuerde, el String es una cadena de caracteres, yo solo requiero de un solo carácter, el primero que se ingrese, busco en la documentación de la clase String (se supone que ya se sabe como acceder a la documentación de JME, si no pues da clic aqui), ahí doy clic en la clase String, busco en sus métodos, tengo que encontrar uno que me regrese el primer carácter de la cadena ingresada, no me da trabajo, lo encuentro rápido, es el primer método que aparece en la documentación se llama charAt.
Previamente se declara la variable chValor de tipo char.
Listo ya tengo le primera letra ¿Qué sigue? Pues saber si es letra, número o símbolo, esto con la nueva instrucción que acabamos de conocer, el switch, así que como se vio en el post anterior, se inicia la instrucción como sigue:
case '0': stringItem.setText("Se ingreso un número" );
break;
case '1': stringItem.setText("Se ingreso un número" );
break;
case '2': stringItem.setText("Se ingreso un número" );
break;
case '3': stringItem.setText("Se ingreso un número" );
break;
case '0':
case '1':
case '2':
…. Etc.
case '9': stringItem.setText("Se ingreso un número" );
break;Después de que ya se dejaron listos los casos para los números siguen las letras se procede de igual forma tomando en cuenta las restricciones, solo las primeras 10 letras del alfabeto y solo mayúsculas, las vocales llevan un trato diferente puesto que hay que mostrar que vocal se ingreso en la pantalla, así que las evaluamos después, entonces el código empieza a partir de la letra B, así:
case 'B':
case 'C':
case 'D':
…. Etc.
case 'J': stringItem.setText("Se ingreso una letra " );
break;
case 'J': switch( chValor) {
case ‘A’: stringItem.setText("Se ingreso la vocal A " );
break;
case ‘E’: stringItem.setText("Se ingreso la vocal E " );
break;
case ‘I’: stringItem.setText("Se ingreso la vocal I " );
break;
case ‘O’: stringItem.setText("Se ingreso la vocal O " );
break;
case ‘U’: stringItem.setText("Se ingreso la vocal U " );
break;
default: stringItem.setText("Se ingreso una letra " );
break;
}
break; default: stringItem.setText("Se ingreso un símbolo" );
break;} String valor;
char chValor;
valor = textField.getString();
chValor = valor.charAt(0);
switch (chValor) {
case '0':
case '1':
case '2':
case '3': stringItem.setText("Se ingreso un número" );
break;
case 'B':
case 'C':
case 'D':
case 'F':
case 'G':
case 'H':
case 'I':
case 'J':switch( chValor) {
case 'A':stringItem.setText("Se ingreso la vocal A " );
break;
case 'E':stringItem.setText("Se ingreso la vocal E " );
break;
case 'I': stringItem.setText("Se ingreso la vocal I " );
break;
case 'O': stringItem.setText("Se ingreso la vocal O " );
break;
case 'U': stringItem.setText("Se ingreso la vocal U " );
break;
default: stringItem.setText("Se ingreso una letra " );
break;
}
break;
default: stringItem.setText("Se ingreso un símbolo" );
break;
}
Paso 3 Compilar y probar el código
Después de terminar el código se compila y se ejecuta para probar si hace lo deseado. La figura siguiente muestra la ejecución del programa cuando se ingresa un número (el 3) y una letra (la B).
¡¡El código está mal!!, cuando se teclea una vocal se envía el mensaje como si fuera un símbolo, debería enviar que es una vocal, incluso debería enviar que vocal era y no. Tenemos un error en tiempo de ejecución.
El Debugger de NetBeans
Se crea el “break point” en el punto donde inicia la lectura de datos del TextField, desde ahí se puede analizar todo el código, al dar clic aparece la línea de color rosa, que significa ya se ha creado el “break point”, al dar clic en el botón para ejecutar con el debugger, el programa inicia su ejecución parece que va todo normal, aparece el emulador, aparece el textField para ingresar el dato, el usuario ingresa el dato y al presionar el okCommand, de pronto la ejecución se detiene y el NetBeans se transforma.
Clic AQUI para leer más...!




















