GUÍA DE EJERCICIOS JAVA- USANDO MAS DE UNA CLASE
Objetivo: Practicar la creación e instanciamiento de objetos y uso de métodos Descripción: Usando el IDE Netbeans realice una sencilla aplicación modo consola para conversión de unidades de longitud y masa. Se debe plantear de tal manera que use tres (3) clases, la clase principal (con el método main) y dos (2) clases más en las que se crearan los métodos para cumplir con los requerimientos requerimientos expuestos
Glosario Package: Un Paquete en Java es un contenedor de clases que permite agrupar las distintas partes de un programa cuya funcionalidad tienen elementos comunes. Clase: Por tanto una clase es una colección de datos y además para operar con ellos una serie de funciones propias de la clase. Método: Un método en Java es un conjunto de instrucciones definidas dentro de una clase, que realizan una determinada tarea y a las que podemos invocar mediante un nombre. Librería: Es un conjunto de implementaciones funcionales, codificadas en un lenguaje de programación, que ofrece una interfaz bien definida para la funcionalidad que se invoca. Objeto: Un objeto es una unidad dentro de un programa de computadora que consta de un estado y de un comportamiento, que a su vez constan respectivamente de datos almacenados y de tareas realizables durante el tiempo de ejecución. Instancia: Una instancia de una clase es una representación concreta y específica de una clase y que reside en la memoria del ordenador
Requerimientos: Realizar una aplicación para realizar conversiones de unidades de distancia y/o unidades de masa, el usuario puede realizar varias conversiones hasta que escriba “salir” 1. Dada una distancia en metros convertir a pie o yarda o milla o kilómetros o centímetros o milímetros o pulgadas, según sea la elección del usuario
Tabla 1. . Unidades de longitud
2. Dada una masa en kilogramos convertir a gramos o onzas o libras o toneladas, según sea la elección del usuario
Tabla 2. . Unidades de masa
Nota: Debe
usar las equivalencias descritas en las tablas 1 y 2
Paso Paso 1. Crear Crear proy ecto proyecto,categoría JAVA, tipo Aplicación JAVA con clase main Crear: Nuevo proyecto,categoría Nombre del proyecto: Conversiones Guardar(Project Location): carpeta creada por usted llamada Proyecto conversiones
Ilustración 1. Cuadro de diálogo nuevo proyecto
Ilustración 2. Cuadro de diálogo nombre y ubicación
Ilustración 3. Proyecto creado
Una vez finalizados los pasos del asistente para creación de proyectos debe aparecer una ventana como la de la ilustración3, en la que se puede notar que se ya está creada la clase principal con el nombre de Conversiones.java.
Paso Paso 2. Crear Crear las clases adicionales adici onales Para hacer más sencilla la construcción e la aplicación se propone crear dos (2) clases adicionales, es importante decir que las mismas no deben tener el método main, ya que como se indicó antes solo debe ir en la clase principal, es decir en Conversiones.java. Conversiones.java. Las clases nuevas que agregaremos agregaremos al Package Conversiones son: ConversionLongitud ConversionLongitud y ConversionMasa, ConversionMasa,
Ilustración 4. Agregar nueva clase
Ilustración 5. Cuadro de diálogo nueva clase
Ilustración 6. Agregar nueva clase
Ilustración 7. Cuadro de diálogo nueva clase
Ilustración 8. Panel de proyectos
Notesé en el panel izquierdo(panel de proyectos) que debe aparecer la información como en la ilustración 8, es decir Un(1) proyecto llamado conversiones, conversio nes, un(1) paquete llamado conversiones y dentro del paquete tres(3) clases llamadas: ConversionLongitud.java, ConversionMasa.java y Conversiones.java, siendo esta última la clase principal que tiene el método main. Revise detenidamente que el proyecto cumpla con estas configuraciones, si no haga los ajustes necesarios antes de continuar. Especificación Especificación de las clases Nombre clase ConversionLongitud.java
ConversionMasa.java
Método Método s ConvertiraPies ConvertiraYardas ConvertiraMillas ConvertiraKilometros ConvertiraCentimetros ConvertiraMilimetros ConvertiraPulgadas ConvertiraGramos ConvertiraOnzas ConvertiraLibras ConvertiraToneladas
Tabla 3. Métodos por clase
Los métodos descritos permitirán crear el código de manera independiente y en ellos se programaran cada una de las acciones que se van a ejecutar para cumplir
con los requerimientos de la aplicación, los mismos van a ser creados como public para permitir ser usados desde cualquiera de las clases y se les asigna el modificador void ya que no van a retornar ningún valor. La declaración del método se hace dentro del bloque de código de la clase usando la sintaxis: public void nombremetodo (){ //espacio para realizar todo el código para el método } Un ejemplo en la clase ConversionLongitud.java es:
Ilustración 09. Declaración de un método
Paso Paso 3. Declare Declare los métodos desc ritos rit os en la tabla tabla en en las clases ConversionLongitud.java y ConversionMasa.java Primero en la clase Conversion Conversion Longitu d.java d.java
Ilustración 10. Declaración de los siete métodos de la clase ConversionLongitud
Ah or a en l a cl ase Conv Co nv ersi er si on Masa.java Masa.j ava
Ilustración 11. Declaración de los cuatro(4) métodos de la clase ConversionMasa
Ya están declarados los métodos en cada una de las clases, y la manera de comprobar que todo marcha sobre ruedas es visualizando los métodos en el panel de Navegación situado abajo a la izquierda, entonces haga clic en la clase ConversionLongitud.java y luego en la clase ConversionMasa.java ubicándolas en el panel de proyectos ubicado arriba a la izquierda, para ambos casos observe que se hayan creado los métodos como aparece en las ilustraciones 12 y 13
Ilustración 12. Visualización de métodos clase ConversionLongitud
Ilustración 13. Visualización de métodos clase ConversionMasa
Paso Paso 4. Importar Impor tar las librerías que se van van a usar Las importaciones se realizan antes de la declaración de la clase, después del package(paquete), para este proyecto como mínimo debe cargar la librería que contiene la clase que permite capturar los datos por consola. Hacer la importación en las clases ConversionLongitud.java ConversionLongitud.java y ConversionMasa.java ConversionMasa.java java.util.Scanner ; Import java.util.Scanner
Ilustración 14. Importación de librería Scanner clase ConversiónLongitud
Ilustración 15. Importación de librería Scanner clase ConversiónMasa
Paso 5. Codifique cada uno de los métodos Ingrese el código apropiado para dar respuesta a cada uno de las acciones previstas en cada método, recuerde que estos métodos se declararon como públicos para que sean visibles desde cualquie c ualquierr clase.
Paso Paso 6. Crear Crear código códig o de la clase princ ipal Conversion Conv ersiones.java es.java Reemplace el código de la clase principal Conversiones.java, copie y pegue el siguiente código y luego revíselo detenidamente. package conversiones; import java.util.Scanner; java.util.Scanner; public class Conversiones { public static void main(String[] args){ Scanner datos =new Scanner(System.in); Scanner(System.in); //crea un nuevo objeto llamado datos a partir de la clase Scanner, se instancia en System.in int tc=0, tc=0, uc=0; // declaracion declaracion de de variable variable que captura la categoria categoria de conversión y le medida de conversión //Mensajes con información para el usuario System.out.println("SISTEMA BÁSICO PARA CONVERSIÓN DE UNIDADES"); System.out.println(""); System.out.println(" System.out.println(" 1. Longitud"); System.out.println(" System.out.println(" 2. Masa"); System.out.println(""); System.out.println("Elija la categoria de conversión: [digite 1 para convertir longitudes o 2 para convertir masa]"); tc =datos.nextInt(); //captura en tc la categoria seleccionada por el usuario //ciclo while para valida la elección correcta while (tc!=1 && tc!=2){ System.out.println("Categoria ingresada erronea!!!!!! Elija la categoria de conversión: [digite 1 para convertir longitudes o 2 para convertir masa]"); tc =datos.nextInt(); //captura en tc la categoria seleccionada por el usuario } // ciclo para crear 15 lineas en blanco para limpiar la consola for (int i=1;i<=15;i++){ System.out.println(' System.out.println(' '); }
// switch para crear el menu de alternativas si elige 1. unidades de longitud o 2. unidades de masa switch (tc){ case 1: //eligio unidades de longitud System.out.println("CONVERSIÓN DE UNIDADES DE LONGITUD"); System.out.println(""); System.out.println(" System.out.println(" 1. de metros a píes"); System.out.println(" System.out.println(" 2. de metros a yardas"); System.out.println(" System.out.println(" 3. de metros a millas"); System.out.println(" System.out.println(" 4. de metros a kilometros"); System.out.println(" System.out.println(" 5. de metros a centimetros"); System.out.println(" System.out.println(" 6. de metros a milimetros"); System.out.println(" System.out.println(" 7. de metros a pulgadas"); System.out.println(""); // solicitar la conversión a realizar System.out.println("¿Metros a que unidad? [ingrese un valor entre 1 y 7], [cualquier otro valor para salir...]"); uc =datos.nextInt(); // captura la opción seleccionada entre 1 y7 // condición para determinar si elige una valor diferente a los disponibles y finalizar la aplicación if (uc!=1 && uc!=2 && uc!=3 && uc!=4 && uc!=5 && uc!=6 && uc!=7){ System.out.println("Salió System.out.println("Salió del sistema...."); System.exit(0);} // switch para invocar los metodos para convertir unidades de longitud switch (uc){ case 1: System.out.println("eligió System.out.println("eligió la opción opción "+uc); //ingrese el codigo para invocar el método ConvertiraPies break; case 2: System.out.println("eligió System.out.println("eligió la opción opción "+uc); //ingrese el codigo para invocar el método ConvertiraYardas break; case 3: System.out.println("eligió System.out.println("eligió la opción opción "+uc);
//ingrese el codigo para invocar el método ConvertiraMillas break; case 4: System.out.println("eligió System.out.println("eligió la opción opción "+uc); //ingrese el codigo para invocar el método ConvertiraKilometros break; case 5: System.out.println("eligió System.out.println("eligió la opción opción "+uc); //ingrese el codigo para invocar el método ConvertiraCentimetros break; case 6: System.out.println("eligió System.out.println("eligió la opción opción "+uc); //ingrese el codigo para invocar el método ConvertiraMilimetros break; case 7: System.out.println("eligió System.out.println("eligió la opción opción "+uc); //ingrese el codigo para invocar el método ConvertiraPulgadas break; } break; case 2: //eligio unidades unidades de masa System.out.println("CONVERSIÓN DE UNIDADES DE MASA"); System.out.println(""); System.out.println(" System.out.println(" 1. de kilogramos a gramos"); System.out.println(" System.out.println(" 2. de kilogramos a onzas"); System.out.println(" System.out.println(" 3. de kilogramos a libras"); System.out.println(" System.out.println(" 4. de kilogramos a toneladas"); System.out.println(""); // solicitar la conversión a realizar r ealizar System.out.println("¿Kilogramos a que unidad? [ingrese un valor entre 1 y 4], [cualquier otro valor para salir...]"); uc =datos.nextInt(); =datos.nextInt(); // condición para determinar si elige una valor diferente a los disponibles y finalizar la aplicación if (uc!=1 && uc!=2 && uc!=3 && uc!=4){ System.out.println("Salió System.out.println("Salió del sistema....");
System.exit(0);} // switch para invocar los metodos para convertir unidades
de masa switch (uc){ case 1: System.out.println("eligió System.out.println("eligió la opción opción "+uc); //ingrese el codigo para invocar ConvertiraGramos break; case 2: System.out.println("eligió System.out.println("eligió la opción opción "+uc); //ingrese el codigo para invocar ConvertiraOnzas break; case 3: System.out.println("eligió System.out.println("eligió la opción opción "+uc); //ingrese el codigo para invocar ConvertiraLibras break; case 4: System.out.println("eligió System.out.println("eligió la opción opción "+uc); //ingrese el codigo para invocar ConvertiraToneladas break; } break; } } }
el
método
el
método
el
método
el
método
Paso Paso 6. Crear Crear objetos e inv ocar métod os Ya se ha realizado la mayor parte de la programación, lo que resta es invocar los métodos que ejecutan el código necesario para realizar las conversiones. Dado que el ejercicio está planteado de tal manera que los métodos deben ser invocados desde la clase principal Conversiones.java y los mismos pertenecen a otras clases ConversionLongitud.java y ConversionMasa.java, es necesario crear los objetos que se cargaran en memoria para poder usar las propiedades y funcionalidades de la clase, ello se logra al instanciar cada clase y almacenarla en una determinada variable. Sintaxis: NombreClase NombreVariable = new NombreClase(); NombreClase(); Ejemplo:
ConversionLongitud convertir = =new ConversionLongitud(); En donde ConversionLongitud es la clase que queremos instanciar(es decir utilizar las propiedades y métodos que están definidos allí), convertir es la variable que almacena en memoria el objeto creado y new es el comando reservado que crea la nueva instancia.
Ilustración 16. Declaración del objeto convertir, línea 31
Una vez creadas las variables que almacenan los objetos en memoria, ya esta instanciada la clase, por tanto se puede hacer uso de las propiedades y métodos de la clase. Para invocar un método debe colocar le nombre de la variable.nombredelmetodo(); al escribir el punto debe aparecer un listado entre el que se encuentran los métodos creados en la clase instanciada.
Ejemplo: convertir.ConversionaPies();
Ilustración 17. Lista de métodos disponibles
Ilustración 18. Método invocado, línea 60
Invoque cada uno de los métodos en el espacio disponible disponible en la clase principal Conversiones.java Conversiones.java
Finalmente haga diferentes pruebas a la aplicación y los ajustes necesarios has que funcione…