SlideShare une entreprise Scribd logo
1  sur  9
Desarrollar un programa Java que proponga una solución orientada a objetos al siguiente enunciado.

“Se desea realizar un programa que gestione los productos que comercializan varios viveros. De cada
vivero nos interesa saber su nombre y localización. Además, el programa almacenará el nombre y NIF de
sus trabajadores.

Cada uno de los viveros comercializa plantas y árboles, los cuales poseen un identificador de producto, un
nombre y un precio. Además, las plantas poseen un tipo de flor (gamopétalas, dialipétalas, etc.), que debe
ser contemplado por la aplicación. También, las plantas pueden clasificarse en plantas de interior y exterior.
De las primeras nos interesa saber la sensibilidad de luz (valor entero) y humedad ideal, mientras que las de
exterior, la temperatura ideal de conservación y humedad ideal. Por otro lado, los árboles poseerán la
información sobre el tipo de tronco que tienen y el diámetro del mismo (en cms).

Paralelamente a este sistema de información, se pretende crear un sistema inteligente que permita regar a
cada producto con una determinada cantidad de agua. Para ello, todos deberán responder a la acción de
regar con un valor entero que represente la cantidad de agua public int calcularCantidadAgua() que
necesitan.

La implementación del método regar se realizará teniendo en cuenta las siguientes fórmulas.
Árboles -> corteza de corcho= 4 * diámetro; otra corteza = 2 * diámetro
Plantas Interior -> sensibilidad de luz * 3 * humedad
Plantas Exterior -> temperatura * 2 * humedad”

Se pide:
    • Crear dos viveros y agregar varios tipos de productos a cada uno (no tiene un número
        predeterminado de productos).
    • A continuación, se realizarán las siguientes acciones independientemente del número y el tipo de
        objetos creados, es decir, del punto anterior:
            • Mostrar la información de todos los viveros.
            • Obtener los valores de agua para regar todos los productos del vivero “X” e iniciar el
                proceso automático de regadío invocando al método public void riega(Regable r) de la
                clase SistemaRegadio. El método de esta clase se limitará a imprimir por pantalla la
                cantidad de agua que está utilizando para el parámetro r.
            • Mostrar el tipo de flor de las plantas del vivero “X”.
    • Los productos que comercializa cada vivero deberán estar ordenador por identificador de producto.
    • Nos interesa mantener el orden de creación de los viveros.
    • Estructurar el programa en paquetes.




                                                      bitCoach::Juan Bautista Cascallar Lorenzo::Página 1
ContadorIDS.java

package es.java.mentor.actividad2global.productos;

public final class ContadorIDS {
       public static int id = 0;
}


Producto.java

package es.java.mentor.actividad2global.productos;


public abstract class Producto {

       //Atributos
       private int idProducto;
       private String nombre;
       private double precio;

       //Constructor
       public Producto(String nomb, double prec){
              ContadorIDS.id++;
              idProducto = ContadorIDS.id;
              nombre = nomb;
              precio = prec;
       }

       //GETTERS
       public int getIdProducto(){
              return idProducto;
       }

       public String getNombre(){
              return nombre;
       }

       public double getPrecio(){
              return precio;
       }

       //Otros métodos
       public abstract int calcularCantidadAgua();
}



Planta.java

package es.java.mentor.actividad2global.productos;

public abstract class Planta extends Producto {
       //Atributos
       private String tipoFlor;

       //Constructor
       public Planta(String nomb, double prec, String tFlor){
              super(nomb,prec);
              tipoFlor = tFlor;
       }

       //GETTERS
       public String getTipoFlor(){
              return tipoFlor;
       }

       //Otros métodos
       public abstract int calcularCantidadAgua();
}




                                                    bitCoach::Juan Bautista Cascallar Lorenzo::Página 2
Arbol.java

package es.java.mentor.actividad2global.productos;

public class Arbol extends Producto {
       //Atributos
       private String tipoCorteza;
       private int diametroTronco;

       //Constructor
       public Arbol(String nomb, double prec, String tCorteza, int diamTronco){
              super(nomb,prec);
              tipoCorteza = tCorteza;
              diametroTronco = diamTronco;
       }

       //Getters
       public String getTipoTronco(){
              return tipoCorteza;
       }

       public int getDiametroTronco(){
              return diametroTronco;
       }

       //Otros métodos
       public int calcularCantidadAgua(){
              //Árboles -> corteza de corcho = 4 * diámetro; otra corteza = 2 * diámetro
              if(tipoCorteza.equalsIgnoreCase("CORCHO") == true){
                      return (4 * diametroTronco);
              }else{
                      return (2 * diametroTronco);
              }
       }
}



PlantaInterior.java

package es.java.mentor.actividad2global.productos;

public class PlantaInterior extends Planta {
       //Atributos
       private int sensibilidad_luz; //Valor entero
       private int humedad_ideal; //Porcentaje (ej.30%)

       //Constructor
       public PlantaInterior(String nomb, double prec, String tFlor, int sluz, int humedad){
              super(nomb,prec,tFlor);
              sensibilidad_luz = sluz;
              humedad_ideal = humedad;
       }

       //Getters
       public int getSensibilidadLuz(){
              return sensibilidad_luz;
       }

       public int getHumedad(){
              return humedad_ideal;
       }

       //Otros métodos
       public int calcularCantidadAgua(){
              //Plantas Interior -> sensibilidad de luz * 3 * humedad
              return (sensibilidad_luz * 3 * humedad_ideal);
       }
}




                                                 bitCoach::Juan Bautista Cascallar Lorenzo::Página 3
PlantaExterior.java
package es.java.mentor.actividad2global.productos;

public class PlantaExterior extends Planta{
       //Atributos
       private int tempConservacion; //Temperatura ideal de conservación
       private int humedad_ideal; //Porcentaje (ej.30%)

       //Constructor
       public PlantaExterior(String nomb, double prec, String tFlor, int tConservacion, int
humedad){
              super(nomb,prec,tFlor);
              tempConservacion = tConservacion;
              humedad_ideal = humedad;
       }

       //GETTERS
       public int getTempConservacion(){
              return tempConservacion;
       }

       public int getHumedadIdeal(){
              return humedad_ideal;
       }

       //Otros métodos
       public int calcularCantidadAgua(){
              //Plantas Exterior -> temperatura * 2 * humedad”
              return (tempConservacion * 2 * humedad_ideal);
       }
}


Trabajador.java

package es.java.mentor.actividad2global.trabajadores;

public class Trabajador {
       //Atributos
       private String nif;
       private String nombre;

       //Constructor
       public Trabajador(String nf, String nomb){
              nif = nf;
              nombre = nomb;
       }

       //GETTERS
       public String getNif(){
              return nif;
       }

       public String getNombre(){
              return nombre;
       }
}


SistemaRegadio.java

package es.java.mentor.actividad2global.Riego;
import java.util.ArrayList;
import java.util.Iterator;

public class SistemaRegadio {
       //Atributos
       private int cantidadAgua = 0;

       public void riega(ArrayList<Integer> r){
              Iterator<Integer> it = r.iterator();
              while(it.hasNext()){
                      cantidadAgua += it.next();
              }

              System.out.println("Cantidad de agua a utilizar: " + cantidadAgua);
       }
}



                                                    bitCoach::Juan Bautista Cascallar Lorenzo::Página 4
Vivero.java
package es.java.mentor.actividad2global.viveros;
import es.java.mentor.actividad2global.trabajadores.Trabajador;
import es.java.mentor.actividad2global.productos.*;
import es.java.mentor.actividad2global.Riego.*;
import java.util.ArrayList;
import java.util.Iterator;

public class Vivero {
       //Atributos
       private String nombre;
       private String localizacion;

       private ArrayList<Trabajador> trabajadores = new ArrayList<Trabajador>();
       private ArrayList<Object> productos = new ArrayList<Object>();


       //CONSTRUCTOR
       public Vivero(String nomb, String loc){
              nombre = nomb;
              localizacion = loc;
       }

       //GETTERS
       public String getNombre(){
              return nombre;
       }

       public String getLocalizacion(){
              return localizacion;
       }

       //OTROS MÉTODOS
       public void altaTrabajador(Trabajador t){
              trabajadores.add(t);
       }

       public void altaProducto(Object p){
              productos.add(p);
       }

       public void regarProductos(){
               ArrayList<Integer> cantidadesDeAgua = new ArrayList<Integer>();
               if(productos.isEmpty()==true){
                      System.out.println("No hay productos...");
               }else{
                      System.out.println("Regando los productos del vivero: " + this.nombre + "-" +
this.localizacion);
                      Iterator<Object> it = productos.iterator();
                      while(it.hasNext()){
                              Producto po = (Producto)it.next();
                              cantidadesDeAgua.add(po.calcularCantidadAgua());
                      }
                      //--- Regar ---
                      SistemaRegadio sr = new SistemaRegadio();
                      sr.riega(cantidadesDeAgua);
                      //-------------
               }
       }

       public void mostrarTipoFlor_Plantas(){
               if(productos.isEmpty() == true){
                      System.out.println("No hay productos...");
               }else{
                      Iterator<Object> it = productos.iterator();
                      System.out.println("Tipos de Flor de las plantas del vivero: " + this.nombre);
                      while(it.hasNext()){
                              Producto pr = (Producto)it.next();
                              if(pr instanceof Planta){
                                     System.out.println("--- PLANTA ------------");
                                     System.out.println("ID: " + pr.getIdProducto());
                                     System.out.println("NOMBRE: " + pr.getNombre());
                                     System.out.println("TIPO DE FLOR: " + ((Planta)
pr).getTipoFlor());
                                     System.out.println("-----------------------");
                              }
                      }
               }
       }


                                                   bitCoach::Juan Bautista Cascallar Lorenzo::Página 5
public void mostrarInfo(){

       System.out.println("================================================================");
              System.out.println("INFORMACIÓN DEL VIVERO " + nombre + "-" + localizacion);

       System.out.println("================================================================");
              //--- Trabajadores ---
              if(trabajadores.isEmpty() == true){
                      System.out.println("- No tiene trabajadores.");
              }else{
                      Iterator<Trabajador> it = trabajadores.iterator();
                      while(it.hasNext()){
                             Trabajador tr = it.next();
                             System.out.println("--- TRABAJADOR --------");
                             System.out.println("NIF: " + tr.getNif());
                             System.out.println("NOMBRE: " + tr.getNombre());
                             System.out.println("-----------------------");
                      }
              }
              //--- Productos ---
              if(productos.isEmpty() == true){
                      System.out.println("- No tiene productos.");
              }else{
                      Iterator<Object> it = productos.iterator();
                      while(it.hasNext()){

                             Producto pr = (Producto)it.next();

                             System.out.println("--- PRODUCTO ----------");
                             //--- Común a todos los productos ---
                             System.out.println("ID: " + pr.getIdProducto());
                             System.out.println("NOMBRE: " + pr.getNombre());
                             System.out.println("PRECIO: " + pr.getPrecio());
                             //--- Común a todos los productos ---
                             if(pr instanceof PlantaInterior){
                                    System.out.println("TIPO DE FLOR: " + ((PlantaInterior)
pr).getTipoFlor());
                                    System.out.println("SENSIBILIDAD DE LUZ: " + ((PlantaInterior)
pr).getSensibilidadLuz());
                                    System.out.println("HUMEDAD IDEAL: " + ((PlantaInterior)
pr).getHumedad());
                             }else if(pr instanceof PlantaExterior){
                                    System.out.println("TIPO DE FLOR: " + ((PlantaExterior)
pr).getTipoFlor());
                                     System.out.println("TEMPERATURA CONSERVACIÓN: " +
((PlantaExterior) pr).getTempConservacion());
                                     System.out.println("HUMEDAD IDEAL: " + ((PlantaExterior)
pr).getHumedadIdeal());
                             }else if(pr instanceof Arbol){
                                     System.out.println("TIPO CORTEZA: " + ((Arbol)
pr).getTipoTronco());
                                     System.out.println("DIÁMETRO TRONCO: " + ((Arbol)
pr).getDiametroTronco());
                             }
                             System.out.println("-----------------------");
                      }
               }
       }
}




                                                 bitCoach::Juan Bautista Cascallar Lorenzo::Página 6
gestionViveros.java

package es.java.mentor.actividad2global.viveros;
import java.util.ArrayList;
import java.util.Iterator;

public class gestionViveros {
       //Atributos
       private ArrayList<Vivero> viveros = new ArrayList<Vivero>();

       //Otros métodos
       public void altaVivero(Vivero v){
              viveros.add(v);
       }

       public void mostrarInfoViveros(){
              if(viveros.isEmpty() == true){
                      System.out.println("No hay ningún vivero.");
              }else{
                      Iterator<Vivero> it = viveros.iterator();
                      while(it.hasNext()){
                             Vivero v = it.next();
                             v.mostrarInfo();
                      }
              }
       }

       public void regarProductosDelViveroX(String nomb){

                if(viveros.isEmpty() == true){
                       System.out.println("No hay ningún vivero.");
                }else{
                       boolean existe = false;
                       Iterator<Vivero> it = viveros.iterator();
                       while(it.hasNext()){
                               Vivero v = it.next();
                               if(v.getNombre().equalsIgnoreCase(nomb) == true){
                                      v.regarProductos();
                                      existe = true;
                                      break;
                               }
                       }
                       if(existe == false){
                               System.out.println("No existe el vivero: " + nomb);
                       }

                }
       }

}//Fin clase.




                                                   bitCoach::Juan Bautista Cascallar Lorenzo::Página 7
testViveros.java

package es.java.mentor.actividad2global.pruebas;

import es.java.mentor.actividad2global.productos.*;
import es.java.mentor.actividad2global.viveros.*;
import es.java.mentor.actividad2global.trabajadores.*;

public class testViveros {

       /**
        * @param args
        */
       public static void main(String[] args) {
              // TODO Auto-generated method stub

              //--- Crea dos Viveros ---
              //Vivero(String nomb, String loc)
              gestionViveros gv = new gestionViveros();
              Vivero v01 = new Vivero("VIVERO_N1","ZONA NORTE");
              Vivero v02 = new Vivero("VIVERO_N2","ZONA SUR");
              gv.altaVivero(v01);
              gv.altaVivero(v02);


              //--- Trabajadores ---
              Trabajador tr01 = new Trabajador("44556656-T","José Luis Almadro");
              Trabajador tr02 = new Trabajador("65423552-B","Alberto Martínez Santos");

               //--- Productos ---
               //PlantaInterior(String nomb, double prec, String tFlor, int sluz, int humedad)
               PlantaInterior pi01 = new PlantaInterior("PLANTA INTERIOR
01",20.5,"GAMOPÉTALA",3,10);
               PlantaInterior pi02 = new PlantaInterior("PLANTA INTERIOR
02",30.5,"DIALIPÉTALA",7,20);
               //PlantaExterior(String nomb, double prec, String tFlor, int tConservacion, int
humedad)
               PlantaExterior pe01 = new PlantaExterior("PLANTA EXTERIOR
01",12.5,"DIALIPÉTALA",10,25);
               PlantaExterior pe02 = new PlantaExterior("PLANTA EXTERIOR 02",12,"GAMOPÉTALA",8,15);
               //Arbol(String nomb, double prec, String tCorteza, int diamTronco)
               Arbol arb01 = new Arbol("ARBOL 01",40.5,"CORCHO",20);
               Arbol arb02 = new Arbol("ARBOL 02",30.5,"OTRA CORTEZA",30);

              //--- Construir v01 ---
              v01.altaTrabajador(tr01);
              v01.altaProducto(pi01);
              v01.altaProducto(pe01);
              v01.altaProducto(arb01);

              //--- Construir v02 ---
              v02.altaTrabajador(tr02);
              v02.altaProducto(pi02);
              v02.altaProducto(pe02);
              v02.altaProducto(arb02);

              //MOSTAR INFORMACIÓN DE TODOS LOS VIVEROS
              gv.mostrarInfoViveros();

              //REGAR TODOS LOS PRODUCTOS DEL VIVERO V01 Y DEL VIVERO V02
              gv.regarProductosDelViveroX("VIVERO_N1");
              gv.regarProductosDelViveroX("VIVERO_N2");

              //TIPOS DE FLOR DE LAS PLANTAS DEL VIVERO V01 Y DEL VIVERO V02
              v01.mostrarTipoFlor_Plantas();
              v02.mostrarTipoFlor_Plantas();
       }
}




                                                   bitCoach::Juan Bautista Cascallar Lorenzo::Página 8
Diagrama de clases UML




                         bitCoach::Juan Bautista Cascallar Lorenzo::Página 9

Contenu connexe

En vedette

Jsp directiva page
Jsp directiva pageJsp directiva page
Jsp directiva pagejubacalo
 
Find File Servlet DB
Find File Servlet DBFind File Servlet DB
Find File Servlet DBjubacalo
 
Explicación del código del Servlet HolaMundo
Explicación del código del Servlet HolaMundoExplicación del código del Servlet HolaMundo
Explicación del código del Servlet HolaMundojubacalo
 
Acciones JSP
Acciones JSPAcciones JSP
Acciones JSPjubacalo
 
Proyecto JSP
Proyecto JSPProyecto JSP
Proyecto JSPjubacalo
 
Elementos de script en JSP
Elementos de script en JSPElementos de script en JSP
Elementos de script en JSPjubacalo
 
Servlets que manejan datos de formularios HTML
Servlets que manejan datos de formularios HTMLServlets que manejan datos de formularios HTML
Servlets que manejan datos de formularios HTMLjubacalo
 
Acceso a BBDD mediante un servlet
Acceso a BBDD mediante un servletAcceso a BBDD mediante un servlet
Acceso a BBDD mediante un servletjubacalo
 
Servlet Hola Mundo con Eclipse y Tomcat
Servlet Hola Mundo con Eclipse y TomcatServlet Hola Mundo con Eclipse y Tomcat
Servlet Hola Mundo con Eclipse y Tomcatjubacalo
 
Java AWT Tres en Raya
Java AWT Tres en RayaJava AWT Tres en Raya
Java AWT Tres en Rayajubacalo
 
Java Thread Cronometro
Java Thread CronometroJava Thread Cronometro
Java Thread Cronometrojubacalo
 
Sincronizar Threads
Sincronizar ThreadsSincronizar Threads
Sincronizar Threadsjubacalo
 
Java::Acceso a Bases de Datos
Java::Acceso a Bases de DatosJava::Acceso a Bases de Datos
Java::Acceso a Bases de Datosjubacalo
 
jQuery Mobile :: Cuadros de diálogo
jQuery Mobile :: Cuadros de diálogojQuery Mobile :: Cuadros de diálogo
jQuery Mobile :: Cuadros de diálogojubacalo
 
Práctica Completa en Flash – ActionScript
Práctica Completa en Flash – ActionScriptPráctica Completa en Flash – ActionScript
Práctica Completa en Flash – ActionScriptjubacalo
 
jQuery Mobile :: Enlaces a páginas internas.
jQuery Mobile :: Enlaces a páginas internas.jQuery Mobile :: Enlaces a páginas internas.
jQuery Mobile :: Enlaces a páginas internas.jubacalo
 
Tienda virtual php_mysql
Tienda virtual php_mysqlTienda virtual php_mysql
Tienda virtual php_mysqljubacalo
 
Crear Base de Datos en Oracle
Crear Base de Datos en OracleCrear Base de Datos en Oracle
Crear Base de Datos en Oraclejubacalo
 

En vedette (18)

Jsp directiva page
Jsp directiva pageJsp directiva page
Jsp directiva page
 
Find File Servlet DB
Find File Servlet DBFind File Servlet DB
Find File Servlet DB
 
Explicación del código del Servlet HolaMundo
Explicación del código del Servlet HolaMundoExplicación del código del Servlet HolaMundo
Explicación del código del Servlet HolaMundo
 
Acciones JSP
Acciones JSPAcciones JSP
Acciones JSP
 
Proyecto JSP
Proyecto JSPProyecto JSP
Proyecto JSP
 
Elementos de script en JSP
Elementos de script en JSPElementos de script en JSP
Elementos de script en JSP
 
Servlets que manejan datos de formularios HTML
Servlets que manejan datos de formularios HTMLServlets que manejan datos de formularios HTML
Servlets que manejan datos de formularios HTML
 
Acceso a BBDD mediante un servlet
Acceso a BBDD mediante un servletAcceso a BBDD mediante un servlet
Acceso a BBDD mediante un servlet
 
Servlet Hola Mundo con Eclipse y Tomcat
Servlet Hola Mundo con Eclipse y TomcatServlet Hola Mundo con Eclipse y Tomcat
Servlet Hola Mundo con Eclipse y Tomcat
 
Java AWT Tres en Raya
Java AWT Tres en RayaJava AWT Tres en Raya
Java AWT Tres en Raya
 
Java Thread Cronometro
Java Thread CronometroJava Thread Cronometro
Java Thread Cronometro
 
Sincronizar Threads
Sincronizar ThreadsSincronizar Threads
Sincronizar Threads
 
Java::Acceso a Bases de Datos
Java::Acceso a Bases de DatosJava::Acceso a Bases de Datos
Java::Acceso a Bases de Datos
 
jQuery Mobile :: Cuadros de diálogo
jQuery Mobile :: Cuadros de diálogojQuery Mobile :: Cuadros de diálogo
jQuery Mobile :: Cuadros de diálogo
 
Práctica Completa en Flash – ActionScript
Práctica Completa en Flash – ActionScriptPráctica Completa en Flash – ActionScript
Práctica Completa en Flash – ActionScript
 
jQuery Mobile :: Enlaces a páginas internas.
jQuery Mobile :: Enlaces a páginas internas.jQuery Mobile :: Enlaces a páginas internas.
jQuery Mobile :: Enlaces a páginas internas.
 
Tienda virtual php_mysql
Tienda virtual php_mysqlTienda virtual php_mysql
Tienda virtual php_mysql
 
Crear Base de Datos en Oracle
Crear Base de Datos en OracleCrear Base de Datos en Oracle
Crear Base de Datos en Oracle
 

Similaire à Programa Java que gestiona los productos que comercializan varios viveros

Similaire à Programa Java que gestiona los productos que comercializan varios viveros (20)

Encapsulamiento
EncapsulamientoEncapsulamiento
Encapsulamiento
 
Metodos 2
Metodos 2Metodos 2
Metodos 2
 
Herencia encapsulación polimorfismo
Herencia encapsulación polimorfismoHerencia encapsulación polimorfismo
Herencia encapsulación polimorfismo
 
Metodos,variables, pasodeparametros
Metodos,variables, pasodeparametrosMetodos,variables, pasodeparametros
Metodos,variables, pasodeparametros
 
Package operaciones
Package operacionesPackage operaciones
Package operaciones
 
Programas de Java en BlueJ
Programas de Java en BlueJProgramas de Java en BlueJ
Programas de Java en BlueJ
 
Instituto tecnológico de matehuala
Instituto  tecnológico  de  matehualaInstituto  tecnológico  de  matehuala
Instituto tecnológico de matehuala
 
Patrones utiles para solid
Patrones utiles para solidPatrones utiles para solid
Patrones utiles para solid
 
JavaScript no es Vietnam
JavaScript no es VietnamJavaScript no es Vietnam
JavaScript no es Vietnam
 
Intro aplicaciones web con php
Intro aplicaciones web con phpIntro aplicaciones web con php
Intro aplicaciones web con php
 
MéTodos
MéTodosMéTodos
MéTodos
 
MéTodos
MéTodosMéTodos
MéTodos
 
MéTodos
MéTodosMéTodos
MéTodos
 
3 desarollo manejo datos capitulo 3 -02 busqueda arreglo objetos
3 desarollo manejo datos capitulo 3 -02 busqueda arreglo objetos3 desarollo manejo datos capitulo 3 -02 busqueda arreglo objetos
3 desarollo manejo datos capitulo 3 -02 busqueda arreglo objetos
 
Introducción a la programación y la informática. Tema 5
Introducción a la programación y la informática. Tema 5Introducción a la programación y la informática. Tema 5
Introducción a la programación y la informática. Tema 5
 
P R A C T I C A2
P R A C T I C A2P R A C T I C A2
P R A C T I C A2
 
Guia5 java
Guia5 javaGuia5 java
Guia5 java
 
C# calculadora
C# calculadoraC# calculadora
C# calculadora
 
Tareas agrupadas
Tareas agrupadasTareas agrupadas
Tareas agrupadas
 
Tareas agrupadas
Tareas agrupadasTareas agrupadas
Tareas agrupadas
 

Plus de jubacalo

MIT App Inventor2 Pintar en Imagen
MIT App Inventor2 Pintar en ImagenMIT App Inventor2 Pintar en Imagen
MIT App Inventor2 Pintar en Imagenjubacalo
 
Cronómetro con MIT App Inventor 2
Cronómetro con MIT App Inventor 2Cronómetro con MIT App Inventor 2
Cronómetro con MIT App Inventor 2jubacalo
 
App Android MiniBanco
App Android MiniBancoApp Android MiniBanco
App Android MiniBancojubacalo
 
Configurar entorno Android
Configurar entorno AndroidConfigurar entorno Android
Configurar entorno Androidjubacalo
 
Web de noticias en Ajax
Web de noticias en AjaxWeb de noticias en Ajax
Web de noticias en Ajaxjubacalo
 
Escenarios
EscenariosEscenarios
Escenariosjubacalo
 
Matrices02
Matrices02Matrices02
Matrices02jubacalo
 
Tabla Dinámica
Tabla DinámicaTabla Dinámica
Tabla Dinámicajubacalo
 
Tabla de Datos
Tabla de DatosTabla de Datos
Tabla de Datosjubacalo
 
Textura de agua
Textura de aguaTextura de agua
Textura de aguajubacalo
 
Funciones lógicas y condicionales
Funciones lógicas y condicionalesFunciones lógicas y condicionales
Funciones lógicas y condicionalesjubacalo
 
Java Thread Cronometro
Java Thread CronometroJava Thread Cronometro
Java Thread Cronometrojubacalo
 

Plus de jubacalo (15)

MIT App Inventor2 Pintar en Imagen
MIT App Inventor2 Pintar en ImagenMIT App Inventor2 Pintar en Imagen
MIT App Inventor2 Pintar en Imagen
 
Cronómetro con MIT App Inventor 2
Cronómetro con MIT App Inventor 2Cronómetro con MIT App Inventor 2
Cronómetro con MIT App Inventor 2
 
App Android MiniBanco
App Android MiniBancoApp Android MiniBanco
App Android MiniBanco
 
Configurar entorno Android
Configurar entorno AndroidConfigurar entorno Android
Configurar entorno Android
 
Web de noticias en Ajax
Web de noticias en AjaxWeb de noticias en Ajax
Web de noticias en Ajax
 
Escenarios
EscenariosEscenarios
Escenarios
 
Matrices02
Matrices02Matrices02
Matrices02
 
Gráficos
GráficosGráficos
Gráficos
 
Tabla Dinámica
Tabla DinámicaTabla Dinámica
Tabla Dinámica
 
Tabla de Datos
Tabla de DatosTabla de Datos
Tabla de Datos
 
Textura de agua
Textura de aguaTextura de agua
Textura de agua
 
Funciones lógicas y condicionales
Funciones lógicas y condicionalesFunciones lógicas y condicionales
Funciones lógicas y condicionales
 
Solver
SolverSolver
Solver
 
Word VBA
Word VBAWord VBA
Word VBA
 
Java Thread Cronometro
Java Thread CronometroJava Thread Cronometro
Java Thread Cronometro
 

Dernier

AEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptxAEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptxhenarfdez
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...jlorentemartos
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxiemerc2024
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Katherine Concepcion Gonzalez
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxroberthirigoinvasque
 
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...Ars Erótica
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxEliaHernndez7
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primariaWilian24
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Juan Martín Martín
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOluismii249
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024IES Vicent Andres Estelles
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOluismii249
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024IES Vicent Andres Estelles
 
Actividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docxActividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docxpaogar2178
 

Dernier (20)

AEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptxAEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptx
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
Power Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptxPower Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptx
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
Procedimientos para la planificación en los Centros Educativos tipo V ( multi...
 
Los dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la VerdadLos dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la Verdad
 
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptxCONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
CONCURSO NACIONAL JOSE MARIA ARGUEDAS.pptx
 
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
Novena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan EudesNovena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan Eudes
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
Actividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docxActividades para el 11 de Mayo día del himno.docx
Actividades para el 11 de Mayo día del himno.docx
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 

Programa Java que gestiona los productos que comercializan varios viveros

  • 1. Desarrollar un programa Java que proponga una solución orientada a objetos al siguiente enunciado. “Se desea realizar un programa que gestione los productos que comercializan varios viveros. De cada vivero nos interesa saber su nombre y localización. Además, el programa almacenará el nombre y NIF de sus trabajadores. Cada uno de los viveros comercializa plantas y árboles, los cuales poseen un identificador de producto, un nombre y un precio. Además, las plantas poseen un tipo de flor (gamopétalas, dialipétalas, etc.), que debe ser contemplado por la aplicación. También, las plantas pueden clasificarse en plantas de interior y exterior. De las primeras nos interesa saber la sensibilidad de luz (valor entero) y humedad ideal, mientras que las de exterior, la temperatura ideal de conservación y humedad ideal. Por otro lado, los árboles poseerán la información sobre el tipo de tronco que tienen y el diámetro del mismo (en cms). Paralelamente a este sistema de información, se pretende crear un sistema inteligente que permita regar a cada producto con una determinada cantidad de agua. Para ello, todos deberán responder a la acción de regar con un valor entero que represente la cantidad de agua public int calcularCantidadAgua() que necesitan. La implementación del método regar se realizará teniendo en cuenta las siguientes fórmulas. Árboles -> corteza de corcho= 4 * diámetro; otra corteza = 2 * diámetro Plantas Interior -> sensibilidad de luz * 3 * humedad Plantas Exterior -> temperatura * 2 * humedad” Se pide: • Crear dos viveros y agregar varios tipos de productos a cada uno (no tiene un número predeterminado de productos). • A continuación, se realizarán las siguientes acciones independientemente del número y el tipo de objetos creados, es decir, del punto anterior: • Mostrar la información de todos los viveros. • Obtener los valores de agua para regar todos los productos del vivero “X” e iniciar el proceso automático de regadío invocando al método public void riega(Regable r) de la clase SistemaRegadio. El método de esta clase se limitará a imprimir por pantalla la cantidad de agua que está utilizando para el parámetro r. • Mostrar el tipo de flor de las plantas del vivero “X”. • Los productos que comercializa cada vivero deberán estar ordenador por identificador de producto. • Nos interesa mantener el orden de creación de los viveros. • Estructurar el programa en paquetes. bitCoach::Juan Bautista Cascallar Lorenzo::Página 1
  • 2. ContadorIDS.java package es.java.mentor.actividad2global.productos; public final class ContadorIDS { public static int id = 0; } Producto.java package es.java.mentor.actividad2global.productos; public abstract class Producto { //Atributos private int idProducto; private String nombre; private double precio; //Constructor public Producto(String nomb, double prec){ ContadorIDS.id++; idProducto = ContadorIDS.id; nombre = nomb; precio = prec; } //GETTERS public int getIdProducto(){ return idProducto; } public String getNombre(){ return nombre; } public double getPrecio(){ return precio; } //Otros métodos public abstract int calcularCantidadAgua(); } Planta.java package es.java.mentor.actividad2global.productos; public abstract class Planta extends Producto { //Atributos private String tipoFlor; //Constructor public Planta(String nomb, double prec, String tFlor){ super(nomb,prec); tipoFlor = tFlor; } //GETTERS public String getTipoFlor(){ return tipoFlor; } //Otros métodos public abstract int calcularCantidadAgua(); } bitCoach::Juan Bautista Cascallar Lorenzo::Página 2
  • 3. Arbol.java package es.java.mentor.actividad2global.productos; public class Arbol extends Producto { //Atributos private String tipoCorteza; private int diametroTronco; //Constructor public Arbol(String nomb, double prec, String tCorteza, int diamTronco){ super(nomb,prec); tipoCorteza = tCorteza; diametroTronco = diamTronco; } //Getters public String getTipoTronco(){ return tipoCorteza; } public int getDiametroTronco(){ return diametroTronco; } //Otros métodos public int calcularCantidadAgua(){ //Árboles -> corteza de corcho = 4 * diámetro; otra corteza = 2 * diámetro if(tipoCorteza.equalsIgnoreCase("CORCHO") == true){ return (4 * diametroTronco); }else{ return (2 * diametroTronco); } } } PlantaInterior.java package es.java.mentor.actividad2global.productos; public class PlantaInterior extends Planta { //Atributos private int sensibilidad_luz; //Valor entero private int humedad_ideal; //Porcentaje (ej.30%) //Constructor public PlantaInterior(String nomb, double prec, String tFlor, int sluz, int humedad){ super(nomb,prec,tFlor); sensibilidad_luz = sluz; humedad_ideal = humedad; } //Getters public int getSensibilidadLuz(){ return sensibilidad_luz; } public int getHumedad(){ return humedad_ideal; } //Otros métodos public int calcularCantidadAgua(){ //Plantas Interior -> sensibilidad de luz * 3 * humedad return (sensibilidad_luz * 3 * humedad_ideal); } } bitCoach::Juan Bautista Cascallar Lorenzo::Página 3
  • 4. PlantaExterior.java package es.java.mentor.actividad2global.productos; public class PlantaExterior extends Planta{ //Atributos private int tempConservacion; //Temperatura ideal de conservación private int humedad_ideal; //Porcentaje (ej.30%) //Constructor public PlantaExterior(String nomb, double prec, String tFlor, int tConservacion, int humedad){ super(nomb,prec,tFlor); tempConservacion = tConservacion; humedad_ideal = humedad; } //GETTERS public int getTempConservacion(){ return tempConservacion; } public int getHumedadIdeal(){ return humedad_ideal; } //Otros métodos public int calcularCantidadAgua(){ //Plantas Exterior -> temperatura * 2 * humedad” return (tempConservacion * 2 * humedad_ideal); } } Trabajador.java package es.java.mentor.actividad2global.trabajadores; public class Trabajador { //Atributos private String nif; private String nombre; //Constructor public Trabajador(String nf, String nomb){ nif = nf; nombre = nomb; } //GETTERS public String getNif(){ return nif; } public String getNombre(){ return nombre; } } SistemaRegadio.java package es.java.mentor.actividad2global.Riego; import java.util.ArrayList; import java.util.Iterator; public class SistemaRegadio { //Atributos private int cantidadAgua = 0; public void riega(ArrayList<Integer> r){ Iterator<Integer> it = r.iterator(); while(it.hasNext()){ cantidadAgua += it.next(); } System.out.println("Cantidad de agua a utilizar: " + cantidadAgua); } } bitCoach::Juan Bautista Cascallar Lorenzo::Página 4
  • 5. Vivero.java package es.java.mentor.actividad2global.viveros; import es.java.mentor.actividad2global.trabajadores.Trabajador; import es.java.mentor.actividad2global.productos.*; import es.java.mentor.actividad2global.Riego.*; import java.util.ArrayList; import java.util.Iterator; public class Vivero { //Atributos private String nombre; private String localizacion; private ArrayList<Trabajador> trabajadores = new ArrayList<Trabajador>(); private ArrayList<Object> productos = new ArrayList<Object>(); //CONSTRUCTOR public Vivero(String nomb, String loc){ nombre = nomb; localizacion = loc; } //GETTERS public String getNombre(){ return nombre; } public String getLocalizacion(){ return localizacion; } //OTROS MÉTODOS public void altaTrabajador(Trabajador t){ trabajadores.add(t); } public void altaProducto(Object p){ productos.add(p); } public void regarProductos(){ ArrayList<Integer> cantidadesDeAgua = new ArrayList<Integer>(); if(productos.isEmpty()==true){ System.out.println("No hay productos..."); }else{ System.out.println("Regando los productos del vivero: " + this.nombre + "-" + this.localizacion); Iterator<Object> it = productos.iterator(); while(it.hasNext()){ Producto po = (Producto)it.next(); cantidadesDeAgua.add(po.calcularCantidadAgua()); } //--- Regar --- SistemaRegadio sr = new SistemaRegadio(); sr.riega(cantidadesDeAgua); //------------- } } public void mostrarTipoFlor_Plantas(){ if(productos.isEmpty() == true){ System.out.println("No hay productos..."); }else{ Iterator<Object> it = productos.iterator(); System.out.println("Tipos de Flor de las plantas del vivero: " + this.nombre); while(it.hasNext()){ Producto pr = (Producto)it.next(); if(pr instanceof Planta){ System.out.println("--- PLANTA ------------"); System.out.println("ID: " + pr.getIdProducto()); System.out.println("NOMBRE: " + pr.getNombre()); System.out.println("TIPO DE FLOR: " + ((Planta) pr).getTipoFlor()); System.out.println("-----------------------"); } } } } bitCoach::Juan Bautista Cascallar Lorenzo::Página 5
  • 6. public void mostrarInfo(){ System.out.println("================================================================"); System.out.println("INFORMACIÓN DEL VIVERO " + nombre + "-" + localizacion); System.out.println("================================================================"); //--- Trabajadores --- if(trabajadores.isEmpty() == true){ System.out.println("- No tiene trabajadores."); }else{ Iterator<Trabajador> it = trabajadores.iterator(); while(it.hasNext()){ Trabajador tr = it.next(); System.out.println("--- TRABAJADOR --------"); System.out.println("NIF: " + tr.getNif()); System.out.println("NOMBRE: " + tr.getNombre()); System.out.println("-----------------------"); } } //--- Productos --- if(productos.isEmpty() == true){ System.out.println("- No tiene productos."); }else{ Iterator<Object> it = productos.iterator(); while(it.hasNext()){ Producto pr = (Producto)it.next(); System.out.println("--- PRODUCTO ----------"); //--- Común a todos los productos --- System.out.println("ID: " + pr.getIdProducto()); System.out.println("NOMBRE: " + pr.getNombre()); System.out.println("PRECIO: " + pr.getPrecio()); //--- Común a todos los productos --- if(pr instanceof PlantaInterior){ System.out.println("TIPO DE FLOR: " + ((PlantaInterior) pr).getTipoFlor()); System.out.println("SENSIBILIDAD DE LUZ: " + ((PlantaInterior) pr).getSensibilidadLuz()); System.out.println("HUMEDAD IDEAL: " + ((PlantaInterior) pr).getHumedad()); }else if(pr instanceof PlantaExterior){ System.out.println("TIPO DE FLOR: " + ((PlantaExterior) pr).getTipoFlor()); System.out.println("TEMPERATURA CONSERVACIÓN: " + ((PlantaExterior) pr).getTempConservacion()); System.out.println("HUMEDAD IDEAL: " + ((PlantaExterior) pr).getHumedadIdeal()); }else if(pr instanceof Arbol){ System.out.println("TIPO CORTEZA: " + ((Arbol) pr).getTipoTronco()); System.out.println("DIÁMETRO TRONCO: " + ((Arbol) pr).getDiametroTronco()); } System.out.println("-----------------------"); } } } } bitCoach::Juan Bautista Cascallar Lorenzo::Página 6
  • 7. gestionViveros.java package es.java.mentor.actividad2global.viveros; import java.util.ArrayList; import java.util.Iterator; public class gestionViveros { //Atributos private ArrayList<Vivero> viveros = new ArrayList<Vivero>(); //Otros métodos public void altaVivero(Vivero v){ viveros.add(v); } public void mostrarInfoViveros(){ if(viveros.isEmpty() == true){ System.out.println("No hay ningún vivero."); }else{ Iterator<Vivero> it = viveros.iterator(); while(it.hasNext()){ Vivero v = it.next(); v.mostrarInfo(); } } } public void regarProductosDelViveroX(String nomb){ if(viveros.isEmpty() == true){ System.out.println("No hay ningún vivero."); }else{ boolean existe = false; Iterator<Vivero> it = viveros.iterator(); while(it.hasNext()){ Vivero v = it.next(); if(v.getNombre().equalsIgnoreCase(nomb) == true){ v.regarProductos(); existe = true; break; } } if(existe == false){ System.out.println("No existe el vivero: " + nomb); } } } }//Fin clase. bitCoach::Juan Bautista Cascallar Lorenzo::Página 7
  • 8. testViveros.java package es.java.mentor.actividad2global.pruebas; import es.java.mentor.actividad2global.productos.*; import es.java.mentor.actividad2global.viveros.*; import es.java.mentor.actividad2global.trabajadores.*; public class testViveros { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub //--- Crea dos Viveros --- //Vivero(String nomb, String loc) gestionViveros gv = new gestionViveros(); Vivero v01 = new Vivero("VIVERO_N1","ZONA NORTE"); Vivero v02 = new Vivero("VIVERO_N2","ZONA SUR"); gv.altaVivero(v01); gv.altaVivero(v02); //--- Trabajadores --- Trabajador tr01 = new Trabajador("44556656-T","José Luis Almadro"); Trabajador tr02 = new Trabajador("65423552-B","Alberto Martínez Santos"); //--- Productos --- //PlantaInterior(String nomb, double prec, String tFlor, int sluz, int humedad) PlantaInterior pi01 = new PlantaInterior("PLANTA INTERIOR 01",20.5,"GAMOPÉTALA",3,10); PlantaInterior pi02 = new PlantaInterior("PLANTA INTERIOR 02",30.5,"DIALIPÉTALA",7,20); //PlantaExterior(String nomb, double prec, String tFlor, int tConservacion, int humedad) PlantaExterior pe01 = new PlantaExterior("PLANTA EXTERIOR 01",12.5,"DIALIPÉTALA",10,25); PlantaExterior pe02 = new PlantaExterior("PLANTA EXTERIOR 02",12,"GAMOPÉTALA",8,15); //Arbol(String nomb, double prec, String tCorteza, int diamTronco) Arbol arb01 = new Arbol("ARBOL 01",40.5,"CORCHO",20); Arbol arb02 = new Arbol("ARBOL 02",30.5,"OTRA CORTEZA",30); //--- Construir v01 --- v01.altaTrabajador(tr01); v01.altaProducto(pi01); v01.altaProducto(pe01); v01.altaProducto(arb01); //--- Construir v02 --- v02.altaTrabajador(tr02); v02.altaProducto(pi02); v02.altaProducto(pe02); v02.altaProducto(arb02); //MOSTAR INFORMACIÓN DE TODOS LOS VIVEROS gv.mostrarInfoViveros(); //REGAR TODOS LOS PRODUCTOS DEL VIVERO V01 Y DEL VIVERO V02 gv.regarProductosDelViveroX("VIVERO_N1"); gv.regarProductosDelViveroX("VIVERO_N2"); //TIPOS DE FLOR DE LAS PLANTAS DEL VIVERO V01 Y DEL VIVERO V02 v01.mostrarTipoFlor_Plantas(); v02.mostrarTipoFlor_Plantas(); } } bitCoach::Juan Bautista Cascallar Lorenzo::Página 8
  • 9. Diagrama de clases UML bitCoach::Juan Bautista Cascallar Lorenzo::Página 9