Heyyyyyyyyyyyyyyy

Aprende a programar microcontroladores en C... http://tecdigitaldelbajio.com/software-tarjeta.html

martes, 7 de julio de 2009

Ejemplo #8 Conversión de Grados Celsius a Grados Fahrenheit



Realizar un programa en el teléfono celular, que pida la temperatura en grados Celsius y la convierta a grados Fahrenheit, mostrando en pantalla un mensaje del tipo “xxx.xx grados Celsius son yy.yy grados Fahrenheit”

Solución

Analizando el ejercicio me tengo que preguntar, antes de empezar a programar en el NetBeans ¿Qué pasos lógicos tenemos que hacer para realizar el programa que me piden? A continuación se enumeran y son parecidos a los del ejemplo #7:

1. Diseñar la interfaz de usuario.
2. Declarar las variables necesarias
3. Obtener los datos ingresados
4. Aplicar la formula
5. Mostrar el resultado

Veamos cada paso con más detalle.

1. Diseñar la Interfaz de usuario

Si se han seguido los ejemplos del blog ya fácilmente podemos predecir que se requiere: un objeto TextField para ingresar el dato de la temperatura en Celsius, un objeto Command para realizar la ejecución del código de conversión de Celsius a Fahrenheit, y un objeto TextField o un StringItem para mostrar el resultado, en el blog anterior mostramos el resultado en un objeto TextField ahora se va a realizar en un objeto StringItem, la imagen siguiente muestra la interfaz de usuario para el ejemplo #8:


No se observa el StringItem, que muestra el resultado, hasta que se dé clic en el botón de Convertir y se ejecute la formula aparece, el mensaje se coloca con código como se verá más adelante.

2. Declarar las variables necesarias

Se requiere una variable para el TextField que es de tipo String esta variable almacena el valor ingresado por el usuario, se requiere una variable para almacenar la conversión de la variable anterior que pasa de String a decimal y finalmente una variable para almacenar el resultado cuando se aplica la formula. La declaración de una variable con decimales se realiza así:

float grados_Far;

3. Obtener los datos ingresados por medio de la interfaz

Esto ya se vio en el post anterior, se utiliza el método getString().

4. Aplicar la formula

La fórmula para convertir de Celsius a Fahrenheit es: grados_Far = grados_Cel * 9/5 + 32

5. Mostrar el resultado

El resultado se debe mostrar en un objeto de tipo StringItem. Una rápida vista a la documentación de java para identificar como enviamos un texto al StringItem nos lleva al método setText().

Ejemplos de este método son los siguientes:

Para enviar “hola mundo” al StringItem se escribe así:
 
 stringItem.setText(“hola mundo”);

En el ejemplo se pide el siguiente mensaje “xxx.xx grados Celsius son yy.yy grados Farenheit”, como aquí se involucran las variables usamos el operador de concatenación de cadenas de java el +, de esta forma:

stringItem.setText(grados_Cel + “ grados Celsius son “ + grados_Far + “ grados Fahrenheit”);

Por ejemplo si se insertan el 54.16 en el TextField el mensaje final que se muestra en el celular es
54.16 grados Celsius son 129.488 grados Fahrenheit.

Video-Tutorial

Tal y como se acostumbra en el blog se puede ver la solución completa del ejemplo #8 en el siguiente video tutorial


                          
Código

Y por si acaso fuera necesario agregamos a partir de hoy el código fuente y todos los archivos que genera NetBeans, incluyendo el archivo JAR que como se explico en un post anterior es el archivo que se envía al teléfono celular, recuerda este archivo se ubica en la carpeta dist.

Clic para bajar la solución en formato zip: Bajar ejemplo #8

Para verlo descomprimir el archivo, recuerda que se requiere el NetBeans 6.5, y se elije desde el menú: File> Open Project… buscar la carpeta Ejemplo_8 y listo.


3 comentarios:

  1. A ca ya no pones ningun interger???

    ResponderEliminar
  2. No este ejemplo no puse ninguan variable Integer, debido aque como se hacen divisiones, el resultado puede resultar con punto decimal y pues lo correcto es usar variables tipo float, esa es la razón.

    Saludos

    ResponderEliminar
  3. excelente - felicitaciones por el curso...

    ResponderEliminar