Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Dan_SB

Páginas: 1 ... 4 5 6 7 8 [9] 10 11 12 13 14
161
A bueno, esta bien, la única consulta en ese caso seria y aprovechando que se toco este tema:

Cuando usas un for each, bucle for, iterador, etc, para recorrer una colección, se recorre todos los miembros de dicha colección... ahora, que pasa si yo quiero insertarle al programa la opción de elegir un integrante de la colección especifica para ver su informacion? Suponga que me dan un menú y quiero solo ver la información de tomate, que podría hacer? Creo que tengo la mente bloqueada en este punto, ya que por mas que piense solo se me ocurre de esta forma (con un switch o for), y no puede ser asi, ya que como dices, que pasaria si la coleccion tuviese 200 elementos? estaria eternamente escribiendo lo q pasaria en cada caso de los 200... 

Sera que me falta dar algo mas? o ya he visto lo suficiente para saber como hacerlo, solo que no se me ha "activado el cable" aun para resolverlo? ???

162
Yo diría perfecto!!!

Bien hecho!

163
Ok aquí voy con el código, disculpen la tardanza, es que en la U ya andamos haciendo exámenes finales del cuatrimestre xd

Producto:
Código: [Seleccionar]
ackage comidaHerencia;

public class Producto {
    String fechaCaducidad, numeroLote, fechaEnvasado, paisDeOrigen;
   
    public Producto(String fechaCaducidad, String numeroLote, String fechaEnvasado, String paisDeOrigen){
        this.fechaCaducidad = fechaCaducidad;
        this.numeroLote = numeroLote;
        this.fechaEnvasado = fechaEnvasado;
        this.paisDeOrigen = paisDeOrigen;
    }
   
    public void setFechaCaducidad(String fecha){
        fechaCaducidad = fecha;
    }
   
    public void setNumeroLote(String num){
        numeroLote = num;
    }
   
    public void setFechaEnvasado(String fecha){
        fechaEnvasado = fecha;
    }
   
    public void setPaisDeOrigen(String pais){
        paisDeOrigen = pais;
    }
       
    public String getFechaCaducidad(){
        return fechaCaducidad;
    }
   
    public String getNumeroLote(){
        return numeroLote;
    }
   
    public String getFechaEnvasado(){
        return fechaEnvasado;
    }
   
    public String getPaisDeOrigen(){
        return paisDeOrigen;
    }
   
    public void imprimirInfo(){
        System.out.println("Fecha Caducidad: " + getFechaCaducidad() + "\nNumero de Lote: " + getNumeroLote() + "\nFecha de Envasado: " + getFechaEnvasado() + "\nPais de Origen: " + getPaisDeOrigen() + "\n");
    }
}

ProductoFresco:
Código: [Seleccionar]
package comidaHerencia;

public class ProductoFresco extends Producto {   
    public ProductoFresco(String fechaCaducidad, String numeroLote, String fechaEnvasado, String paisDeOrigen){
        super(fechaCaducidad, numeroLote, fechaEnvasado, paisDeOrigen);
    }   
}

ProductoRefrigerado:
Código: [Seleccionar]
package comidaHerencia;

public class ProductoRefrigerado extends Producto{
    private String codigoSupervisionAlimentaria;
   
    public ProductoRefrigerado(String fechaCaducidad, String numeroLote, String fechaEnvasado, String paisDeOrigen, String codigo){
        super(fechaCaducidad, numeroLote, fechaEnvasado, paisDeOrigen);
        codigoSupervisionAlimentaria = codigo;
    }
   
    public void setCodigoSupervisionAlimentaria(String codigo){
        codigoSupervisionAlimentaria = codigo;
    }
   
    public String getCodigoSupervisionAlimentaria(){
        return codigoSupervisionAlimentaria;
    }
   
    public void imprimirDatos(){
        System.out.println("Codigo de Supervision Alimentaria: " + getCodigoSupervisionAlimentaria());
        imprimirInfo();       
    }
}

ProductoFrio:
Código: [Seleccionar]
package comidaHerencia;

public class ProductoFrio extends Producto {
    private double tempCongelacionRecomendada;
   
    public ProductoFrio(String fechaCaducidad, String numeroLote, String fechaEnvasado, String paisDeOrigen, double tempCongelacionRecomendada){
        super(fechaCaducidad, numeroLote, fechaEnvasado, paisDeOrigen);
        this.tempCongelacionRecomendada = tempCongelacionRecomendada;
    }
   
    public void setTemperaturaRecomendada(double temperatura){
        tempCongelacionRecomendada = temperatura;
    }
   
    public double getTemperaturaRecomendada(){
        return tempCongelacionRecomendada;
    }
   
    public void imprimirInformacion(){
        System.out.println("Temperatura Recomendada: " + getTemperaturaRecomendada());
        imprimirInfo();
    }
}

ProductoCongelado:
Código: [Seleccionar]
package comidaHerencia;

public class ProductoCongelado extends ProductoFrio {     
    public ProductoCongelado(String fechaCaducidad, String numeroLote, String fechaEnvasado, String paisDeOrigen, double tempCongelacionRecomendada){
        super(fechaCaducidad, numeroLote, fechaEnvasado, paisDeOrigen, tempCongelacionRecomendada);
    }
}

CongeladoAgua:
Código: [Seleccionar]
package comidaHerencia;

public class CongeladoAgua extends ProductoCongelado {
    private double gramosSal, litrosAgua;
    public CongeladoAgua(String fechaCaducidad, String numeroLote, String fechaEnvasado, String paisDeOrigen, double tempCongelacionRecomendada){
        super(fechaCaducidad, numeroLote, fechaEnvasado, paisDeOrigen, tempCongelacionRecomendada);
        gramosSal = 0; litrosAgua = 0;
    } 
    public void setSal(double sal){gramosSal = sal;}
    public void setLitrosAgua(double litro){litrosAgua = litro;}
    public double calcularSalinidad(){
        double salinidad = gramosSal * litrosAgua;
        return salinidad;
    }
    public double getSal(){return gramosSal;}
    public double getLitrosAgua(){return litrosAgua;}
   
    public void imprimirDatos(){
        System.out.println("Salinidad del agua: " + calcularSalinidad());
        imprimirInformacion();     
    }
}

CongeladoAire:
Código: [Seleccionar]
package comidaHerencia;

public class CongeladoAire extends ProductoCongelado{
    private double porNitrogeno, porOxigeno, porDioxCarbono, porVaporAgua;
    public CongeladoAire(String fechaCaducidad, String numeroLote, String fechaEnvasado, String paisDeOrigen, double tempCongelacionRecomendada){
        super(fechaCaducidad, numeroLote, fechaEnvasado, paisDeOrigen, tempCongelacionRecomendada);
        porNitrogeno = 0; porOxigeno = 0; porDioxCarbono = 0; porVaporAgua = 0;
    }   
   
    public void setPorNitrogeno(double num){porNitrogeno = num;}   
    public void setPorOxigeno(double num){porOxigeno = num;}   
    public void setPorDioxCarbono(double num){porDioxCarbono = num;}
    public void setPorVaporAgua(double num){porVaporAgua = num;}
    public double getPorNitrogeno(){return porNitrogeno;}
    public double getPorOxigeno(){return porOxigeno;}
    public double getPorDioxCarbono(){return porDioxCarbono;}
    public double getPorVaporAgua(){return porVaporAgua;}
   
    public void imprimirDatos(){
        System.out.println("Porcentaje de nitrogeno: " + getPorNitrogeno() + "%\nPorcentaje de oxigeno: " + getPorOxigeno() + "%\nPorcentaje de Dioxido de carbono: "
        + getPorDioxCarbono() + "%\nPorcentaje de vapor de agua: " + getPorVaporAgua());
        imprimirInformacion();       
    }
}

CongeladoNitrogeno:
Código: [Seleccionar]
package comidaHerencia;

public class CongeladoNitrogeno extends ProductoCongelado{
    private String metodoCongelacion;
    private String tiempoExposicion;
    public CongeladoNitrogeno(String fechaCaducidad, String numeroLote, String fechaEnvasado, String paisDeOrigen, double tempCongelacionRecomendada){
         super(fechaCaducidad, numeroLote, fechaEnvasado, paisDeOrigen, tempCongelacionRecomendada);
         metodoCongelacion = "Desconocido";
         tiempoExposicion = "";
    }
   
    public void setMetodoCongelacion(String metodo){metodoCongelacion = metodo;}
    public void setTiempoExposicion(String tiempo){tiempoExposicion = tiempo;}
    public String getMetodoCongelacion(){return metodoCongelacion;}
    public String getTiempoExposicion(){return tiempoExposicion;}
   
    public void imprimirDatos(){
        System.out.println("Metodo de congelacion: " + getMetodoCongelacion() + "\nTiempo de exposicion: " + getTiempoExposicion());
        imprimirInformacion();       
    }
}

testHerencia3:
Código: [Seleccionar]
package comidaHerencia;
import java.util.Scanner;

public class testHerencia3 {
    public static void main(String[]args){
        Scanner in = new Scanner(System.in); int elige = 0;
        ProductoFresco tomate = new ProductoFresco("30/04/2015","L1021015","20/04/2015","Panamá");
        ProductoFresco manzana = new ProductoFresco("03/05/2015","L1022015","20/04/2015","EEUU");
        ProductoRefrigerado leche = new ProductoRefrigerado("10/05/2015","L1118015","24/04/2015","España","C#12083");
        ProductoRefrigerado jugo = new ProductoRefrigerado("14/05/2015","L0912015","20/04/2015","Alemania","C#56785");
        ProductoRefrigerado queso = new ProductoRefrigerado("14/05/2015","L1112015","02/04/2015","Panamá","C#67890");
        CongeladoAgua pescado = new CongeladoAgua("14/7/2015","L2032015","10/04/2015","Panamá",-2.0);
        pescado.setLitrosAgua(5);
        pescado.setSal(283.5);
        CongeladoAgua cangrejo = new CongeladoAgua("15/8/2015","L1023015","11/04/2015","Panamá",-2.0);
        cangrejo.setLitrosAgua(3);
        cangrejo.setSal(170.1);
        CongeladoAgua rex = new CongeladoAgua("15/6/2015","L2012015","11/04/2015","Costa Rica",-1.8);
        rex.setLitrosAgua(5);
        rex.setSal(170.1);
        CongeladoAgua pulpo = new CongeladoAgua("15/6/2015","L2309015","16/05/2015","Colombia",-2.0);
        pulpo.setLitrosAgua(2);
        pulpo.setSal(113.4);
        CongeladoNitrogeno cordero = new CongeladoNitrogeno("20/6/2015","L2609015","20/05/2015","Argentina",-2.2);
        cordero.setMetodoCongelacion("Criogénica");
        cordero.setTiempoExposicion("6 meses");
        do{
        System.out.println("Ingrese 1 para visualizar la informacion de los productos frescos.\n"
                + "Ingrese 2 para visualizar la informacion de los productos refrigerados.\n"
                + "Ingrese 3 para visualizar la informacion de los productos congelados.\n"
                + "Ingrese 4 para salir.");
        elige = in.nextInt();
        switch(elige){
            case 1: System.out.println("Productos frescos:");
                tomate.imprimirInfo();
                manzana.imprimirInfo();
            break;
            case 2: System.out.println("Productos refrigerados:");
                leche.imprimirDatos();
                jugo.imprimirDatos();
                queso.imprimirDatos();
            break;
            case 3: System.out.println("PRODUCTOS CONGELADOS.\nCongelados por agua: ");
                pescado.imprimirDatos();
                cangrejo.imprimirDatos();
                rex.imprimirDatos();
                pulpo.imprimirDatos();
                System.out.println("Congelados por nitrogeno:");
                cordero.imprimirDatos();
            break;
            case 4: System.out.println("Prueba finalizada!"); break;
            default: System.out.println("Caracter invalido."); break;
        }
        }while(elige < 4);
    }
}

Ejecucion:





164
Buenas noches!

Vengo a resolver el siguiente ejercicio del capitulo 14° del curso (html desde cero), el enunciado es así:
Abre cuatro páginas web distintas y captura la ruta de 4 imágenes que puedas encontrar en ellas (las imágenes que prefieras). A continuación crea un documento html donde incorpores un texto que indique el contenido de la imagen y a continuación se vea la imagen. Guarda el documento con un nombre como ejemploCU00714B.html y comprueba que se visualiza correctamente.

Bien, aqui mi codigo!:

Código: [Seleccionar]
<html>
      <head>
    <meta charset="utf-8">
    <title>Los carros soñados de Dan</title>
      </head>
      <body>
    <p>1. Chevrolet Camaro.</p>
<img class="irc_mi" style="margin-top: 0px;" src="http://autos.starmedia.com/imagenes/2013/10/Chevrolet-Camaro-2014-en-M%C3%A9xico-Precios-y-detalles.jpg" width="729" height="410">
<p>2. Mini Cooper.</p>
<img class="irc_mi" style="margin-top: 0px;" src="http://gas2.org/wp-content/uploads/2013/11/001-2015-mini-cooper-hardtop-1.jpg" width="729" height="410">
<p>3. Mazda Speed 6.</p>
<img class="irc_mi" style="margin-top: 0px;" src="http://o.aolcdn.com/dims-shared/dims3/GLOB/legacy_thumbnail/750x422/quality/95/http://www.blogcdn.com/www.autoblog.com/media/2010/11/03-mazda-shinari-la-2010.jpg" width="729" height="410">
<p>4. Cadilac Escalade.</p>
<img class="irc_mi" style="margin-top: 0px;" src="http://www.cadillac.com.mx/content/dam/Cadillac/northamerica/mexico/nscwebsite/es/home/Vehicles/Current_Vehicles/Escalade%202015/Model_Overview/01_images/Exterior/2015-cadillac-escalade-platinum-future_vehicle-overview-exterior-2-960x540.jpg" width="729" height="410">
      </body>
</html>

Coloque la resolución de imagen igual en todas las fotos para que se vea en orden. Se deberia ver asi:




Interesante... ademas de que ya saben que darme para cumpleaños jajaja (Ok no  ::) )

Saludos

166
Si deseas darle a las paginas webs mira esta direccion, es interesante.. habla de lo que se requiere para ser un programador web!

¿Qué es y qué estudiar para ser programador web? Itinerario de formación, plan de estudios o de carrera.

http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=702:ique-es-y-que-estudiar-para-ser-programador-web-itinerario-de-formacion-plan-de-estudios-o-de-carrera&catid=39:orientacion-academica&Itemid=189

Deberias leer esto!

167
Okay ale. gracias por su comentario, ya arreglo el esquema y programo ahorita!

168
Buenas!

Como ya vieron, hago el curso html desde cero. Resuelvo el ejercicio 13° del curso, donde se nos dice:

Citar
¿Qué etiquetas de las empleadas sería recomendable no utilizar y reemplazar mediante uso de técnicas CSS?

Código: [Seleccionar]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Ejemplo 01 del curso HTML - aprenderaprogramar.com</title>
</head>
<body text="green">
<pre>
Ejemplo básico: uso de etiquetas de formato y atributos básicos para la etiqueta body.
<strong>negrita</strong>
<em>Cursiva</em>
<del>Subrayado</del>
<big>Grande</big>
<small>pequeño</small>
Esto es un<sub>subíndice</sub>
Y esto un<sup>superíndice</sup>
</pre>
</body>
</html>

Etiquetas Deprecated:
1. Small
2. Big
3. El body text

Por cierto, que hace la etiqueta "<pre>"?

Saludos!

169
Gracias por el documento ! Muy util su info!

170
Ahora si!

Clase Producto:
Código: [Seleccionar]
package comidaHerencia;

public class Producto {
    String fechaCaducidad, numeroLote;
   
    public Producto(String fechaCaducidad, String numeroLote){
        this.fechaCaducidad = fechaCaducidad;
        this.numeroLote = numeroLote;
    }
   
    public void setFechaCaducidad(String fecha){
        fechaCaducidad = fecha;
    }
   
    public void setNumeroLote(String num){
        numeroLote = num;
    }
   
    public String getFechaCaducidad(){
        return fechaCaducidad;
    }
   
    public String getNumeroLote(){
        return numeroLote;
    }
   
    public void imprimirInfo(){
        System.out.println("Fecha Caducidad: " + getFechaCaducidad() + "\nNumero de Lote: " + getNumeroLote());
    }
}

Clase ProductoCongelado:
Código: [Seleccionar]
package comidaHerencia;

public class ProductoCongelado extends Producto {
    private double tempCongelacionRecomendada;
   
    public ProductoCongelado(String fechaCaducidad, String numeroLote){
        super(fechaCaducidad, numeroLote);
        tempCongelacionRecomendada = 0;
    }
   
    public void setTemperaturaRecomendada(double temperatura){
        tempCongelacionRecomendada = temperatura;
    }
   
    public double getTemperaturaRecomendada(){
        return tempCongelacionRecomendada;
    }
   
    public void imprimirDatos(){
        imprimirInfo();
        System.out.println("Temperatura Recomendada: " + getTemperaturaRecomendada() + "\n");
    }
}

ProductoRefrigerado
Código: [Seleccionar]
package comidaHerencia;

public class ProductoRefrigerado extends Producto{
    private String codigoSupervisionAlimentaria;
   
    public ProductoRefrigerado(String fechaCaducidad, String numeroLote){
        super(fechaCaducidad, numeroLote);
        codigoSupervisionAlimentaria = "Desconocido";
    }
   
    public void setCodigoSupervisionAlimentaria(String codigo){
        codigoSupervisionAlimentaria = codigo;
    }
   
    public String getCodigoSupervisionAlimentaria(){
        return codigoSupervisionAlimentaria;
    }
   
    public void imprimirDatos(){
        imprimirInfo();
        System.out.println("Codigo de Supervision Alimentaria: " + getCodigoSupervisionAlimentaria());
    }
}

Clase ProductoFresco:
Código: [Seleccionar]
package comidaHerencia;

public class ProductoFresco extends Producto {
    private String fechaEnvasado, paisDeOrigen;
   
    public ProductoFresco(String fechaCaducidad, String numeroLote){
        super(fechaCaducidad, numeroLote);
        fechaEnvasado = "Desconocido";
        paisDeOrigen = "Desconocido";
    }
   
    public void setFechaEnvasado(String fecha){
        fechaEnvasado = fecha;
    }
   
    public void setPaisDeOrigen(String pais){
        paisDeOrigen = pais;
    }
   
    public String getFechaEnvasado(){
        return fechaEnvasado;
    }
   
    public String getPaisDeOrigen(){
        return paisDeOrigen;
    }
   
    public void imprimirDatos(){
        imprimirInfo();
        System.out.println("Fecha de envasado: " + getFechaEnvasado() + "\nPais de origen: " + getPaisDeOrigen() + "\n");
    }
}

Clase TestHerencia:
Código: [Seleccionar]
package comidaHerencia;

public class testHerencia2 {
    public static void main(String[]args){
        ProductoCongelado nuggets = new ProductoCongelado("16-10-2016","L1603004");
        ProductoFresco lechuga = new ProductoFresco("20-10-2016","L1610005");
        ProductoRefrigerado jugo = new ProductoRefrigerado("25-10-2016","L1609006");
        nuggets.setTemperaturaRecomendada(-18);
        lechuga.setFechaEnvasado("03-10-2015");
        lechuga.setPaisDeOrigen("Panamá");
        jugo.setCodigoSupervisionAlimentaria("B#6745");
        System.out.println("Producto Congelado: ");
        nuggets.imprimirDatos();
        System.out.println("Producto Fresco: ");
        lechuga.imprimirDatos();
        System.out.println("Producto Refrigerado: ");
        jugo.imprimirDatos();
    }
}



Disculpas! y gracias!

171
Hola!

Eso mismo quise hacer, algo que vaya con el mundo real. Si tecleas en google "Productos fríos" vas a ver helados, bebidas frías, productos congelados como carnes, hielo, y paletas... es por eso que decidí crear esa clase y llamarla ProductoFrio, porque abarca Productos Refrigerados y Congelados. Para saber si el producto es refrigerado o congelado, pienso que se le podría poner una condición al agregar la temperatura y que la clase diga si es congelado o no.

Lo que aun no entiendo, es que cosa van a heredar las clases Congelado por aire, nitrógeno y agua, si los atributos de producto congelado son fecha de envasado, el país de origen y la temperatura recomendada... la herencia según vi, es ahorrarte código (por decirlo así). No estaríamos creando una clase demas con las mismas cosas ? De la super clase ya se esta heredando fecha de envasado y el pais de origen. Y temperatura recomendada de la clase intermedia que metí..

Tengo la idea en la cabeza, aun no empezado a codificar por cierto, hasta estar seguro si esta correcto o con su aprobación. Por mientras me entretenia con html :P

172
aaaah!! verdad toni, enseguida lo arreglo!

173
Hola Jupertivo

He estado leyendo su código, compile, cumple con lo que se pidió, bien, pero he visto algunos fallos en el código, empecemos por clase:

1. En tu clase CantantesFamosos, el titulo de clase siempre se pone en singular, no plural... si hablaras con otro programador y dices "he creado una clase CantantesFamosos" sonara extraño... la clase debería ser CantanteFamoso (No te preocupes, este error lo suelo cometer yo a veces..) compara esto:

he creado un objeto CantantesFamosos.
he creado un objeto CantanteFamoso.

hay que tener en cuenta eso!

2. En la misma clase CantanteFamoso he visto tu constructor vacio... esto no es optimo. Cada vez que invocaras un objeto CantanteFamoso aparecera completamente vacio de datos, el cantante no tendra nombre ni disco famoso... En cambio, con un costructor asi:

Código: [Seleccionar]
public CantanteFamoso(){
        nombre = "";
        discosConMasVentas = "";
    }

Ya es diferente, el cantante famoso tiene nombre y disco. Planteate que el constructor es la "identidad" de la clase, por decirlo así. . Me ha funcionado a mi pensar así. Claro, hay casos en el que se debe poner vacío, pero en este caso cambian las cosas.

3. En tu clase test, observamos ahora lo siguiente, y tiene que ver con el punto anterior del constructor:
Citar
System.out.println("Empezamos el programa. Para salir, pulse 'return'");
        ListaCantantesFamosos lista=new ListaCantantesFamosos(nombreDeLaLista);
        cantante=new CantantesFamosos();
        cantante.setNombre("Madonna");

Como tienes el constructor vació, lo que estas haciendo aquí es manipular los atributos directos de clase... esto no es optimo.

Me encanto tu forma de salir del programa por cierto :)
Saludos!

174
Gracias cesar!, ya arranco con el curso! Por cierto, el enlaze esta excelente... :O

Gracias por la info!!!!  :D

175
Hola Ruben  :)

Atributos correctos, métodos set y get correctos. El único detalle de tu código es el constructor, como lo tienes inicializado no es optimo. Cuando vas a inicializar los atributos, procura de colocar datos como:

titulo = "Desconocido" o  " "
autor = "Desconocido" o " "
añoEdicion = 0
formato = "Desconocido" o " "
digital = false


Cuando vas a crear los objetos DiscoMusical, ahi si es tiempo de cargarle datos sobre un disco musical..

Espero haberte ayudado!!
Saludos!

176
Buenas noches

Vengo aquí dudoso con una pregunta sobre este ejercicio, hay algo que no capto del enunciado y decidi realizar algo... les presento mi esquema:


Explicando el esquema: Vamos por clase. primero hablemos de la super clase Producto.

En mi esquema tengo en la super clase Producto 4 atributos que son fecha de caducidad, numero de lote, fecha de envasado y pais de origen. Estos dos ultimos los agrege por la razón de que si lees el enunciado bien, puedes notar que en todas las clases piden esto: fecha de envasado y pais de origen. Nos ahorrariamos de escribir en cada clase setFechaEnvasado... setPaisOrigen... getFechaEnvasado... etc...

Con la clase ProductoFresco, como solo requiere de fecha de envasado y pais de origen, tan solo va a heredar de la super clase Producto y punto... al no tener atributos propios que lo identifiquen.

Viene el meollo. Modifique un poco el esquema... reemplaze la clase ProductoFrio por la clase ProductoCongelado.. Explico porque:

Si comparamos los atributos de ProductoRefrigerado y ProductoCongelado
vamos a encontrar una característica similar... se trata de temperatura recomendada. Pense en convertir a ProductoRefrigerado como una super clase, pero no tendria sentido.

Citar
Los productos refrigerados deben llevar el código del organismo de supervisión alimentaria, la fecha de envasado, la temperatura de mantenimiento recomendada y el país de origen. Los productos congelados deben llevar la fecha de envasado, el país de origen y la temperatura de mantenimiento recomendada.

ProductoRefrigerado tiene al parecer una característica especifica que es el código de organismo de supervision alimentaria.... si ProductoRefrigerado se vuelve en una super clase intermedia, ProductoCongelado va a heredar la caracteristica especifica de ProductoRefrigerado... y por eso, cree esta clase ProductoFrio.

¿Porque elimine la clase ProductoCongelado?
Pues, esta clase se convertiría en el mismo caso que ProductoFresco al carecer de una característica especifica... perooo... no elimine tal clase ProductoFresco por no tener subclases o "hijos".
Con ProductoCongelado, ya es otra historia, se volveria una clase demas y repetida. Pensemos... ¿Que heredarian las subclases CongeladoAire, CongeladoNitrogeno y CongeladoAgua de la clase ProductoCongelado? nada. ProductoClase tendria como atributos fecha de envasado y pais de origen... cosa que ya todas las clases estan heredando de la super clase Producto.

Que opinan de esto chicos??? estare esperando sus correcciones y comentarios. Y si fuese el caso de que no exista ningun problema con este diagrama, inmediatamente prosigo con la codificacion!

Hice esto en paint, lo mejor que pude... D;
Saludos!

177
Buenas noches!

Vengo a resolver el ejercicio del capitulo 86° del curso. El enunciado es el siguiente:

Se plantea desarrollar un programa Java que permita la gestión de una empresa agroalimentaria que trabaja con tres tipos de productos: productos frescos, productos refrigerados y productos congelados. Todos los productos llevan esta información común: fecha de caducidad y número de lote. A su vez, cada tipo de producto lleva alguna información específica. Los productos frescos deben llevar la fecha de envasado y el país de origen. Los productos refrigerados deben llevar el código del organismo de supervisión alimentaria. Los productos congelados deben llevar la temperatura de congelación recomendada. Crear el código de las clases Java implementando una relación de herencia desde la superclase Producto hasta las subclases ProductoFresco, ProductoRefrigerado y ProductoCongelado. Cada clase debe disponer de constructor y permitir establecer (set) y recuperar (get) el valor de sus atributos y tener un método que permita mostrar la información del objeto. Crear una clase testHerencia2 con el método main donde se cree un objeto de cada tipo y se muestren los datos de cada uno de los objetos creados.

Curiosidad: Miren como marca netbeans las super clases:


Asi me dare cuenta quienes son en futuros proyectos, jajaja!


Okay, aqui vamos presentando cada clase. La primera, la superclase Producto:

Código: [Seleccionar]
package comidaHerencia;

public class Producto {
    String fechaCaducidad, numeroLote;
   
    public Producto(String fechaCaducidad, String numeroLote){
        this.fechaCaducidad = fechaCaducidad;
        this.numeroLote = numeroLote;
    }
   
    public void setFechaCaducidad(String fecha){
        fechaCaducidad = fecha;
    }
   
    public void setNumeroLote(String num){
        numeroLote = num;
    }
   
    public String getFechaCaducidad(){
        return fechaCaducidad;
    }
   
    public String getNumeroLote(){
        return numeroLote;
    }
}


Clase ProductoCongelado:

Código: [Seleccionar]
package comidaHerencia;

public class ProductoCongelado extends Producto {
    private double tempCongelacionRecomendada;
   
    public ProductoCongelado(String fechaCaducidad, String numeroLote){
        super(fechaCaducidad, numeroLote);
        tempCongelacionRecomendada = 0;
    }
   
    public void setTemperaturaRecomendada(double temperatura){
        tempCongelacionRecomendada = temperatura;
    }
   
    public double getTemperaturaRecomendada(){
        return tempCongelacionRecomendada;
    }
}


Clase ProductoFresco:

Código: [Seleccionar]
package comidaHerencia;

public class ProductoFresco extends Producto {
    private String fechaEnvasado, paisDeOrigen;
   
    public ProductoFresco(String fechaCaducidad, String numeroLote){
        super(fechaCaducidad, numeroLote);
        fechaEnvasado = "Desconocido";
        paisDeOrigen = "Desconocido";
    }
   
    public void setFechaEnvasado(String fecha){
        fechaEnvasado = fecha;
    }
   
    public void setPaisDeOrigen(String pais){
        paisDeOrigen = pais;
    }
   
    public String getFechaEnvasado(){
        return fechaEnvasado;
    }
   
    public String getPaisDeOrigen(){
        return paisDeOrigen;
    }
}


Clase ProductoRefrigerado:

Código: [Seleccionar]
package comidaHerencia;

public class ProductoRefrigerado extends Producto{
    private String codigoSupervisionAlimentaria;
   
    public ProductoRefrigerado(String fechaCaducidad, String numeroLote){
        super(fechaCaducidad, numeroLote);
        codigoSupervisionAlimentaria = "Desconocido";
    }
   
    public void setCodigoSupervisionAlimentaria(String codigo){
        codigoSupervisionAlimentaria = codigo;
    }
   
    public String getCodigoSupervisionAlimentaria(){
        return codigoSupervisionAlimentaria;
    }
}


Clase testHerencia2:

Código: [Seleccionar]
package comidaHerencia;

public class testHerencia2 {
    public static void main(String[]args){
        ProductoCongelado nuggets = new ProductoCongelado("16-10-2016","L1603004");
        ProductoFresco lechuga = new ProductoFresco("20-10-2016","L1610005");
        ProductoRefrigerado jugo = new ProductoRefrigerado("25-10-2016","L1609006");
        System.out.println("Sin datos. \nProducto Congelado: ");
        System.out.println("Fecha de caducidad: " + nuggets.getFechaCaducidad() + "\nNumero de Lote: " + nuggets.getNumeroLote()
                           + "\nTemperatura Recomendada: " + nuggets.getTemperaturaRecomendada() + "C°");
        System.out.println();
        System.out.println("Producto Fresco: ");
        System.out.println("Fecha de caducidad: " + lechuga.getFechaCaducidad() + "\nNumero de Lote: " + lechuga.getNumeroLote()
                           + "\nFecha de envasado: " + lechuga.getFechaEnvasado() + "\nPais de Origen: " + lechuga.getPaisDeOrigen());
        System.out.println();
        System.out.println("Producto Refrigerado: ");
        System.out.println("Fecha de caducidad: " + jugo.getFechaCaducidad() + "\nNumero de Lote: " + jugo.getNumeroLote()
                           + "\nCodigo de supervision alimentaria: " + jugo.getCodigoSupervisionAlimentaria());
        nuggets.setTemperaturaRecomendada(-18);
        lechuga.setFechaEnvasado("03-10-2015");
        lechuga.setPaisDeOrigen("Panamá");
        jugo.setCodigoSupervisionAlimentaria("B#6745");
        System.out.println();
        System.out.println("Con datos. \nProducto Congelado: ");
        System.out.println("Fecha de caducidad: " + nuggets.getFechaCaducidad() + "\nNumero de Lote: " + nuggets.getNumeroLote()
                           + "\nTemperatura Recomendada: " + nuggets.getTemperaturaRecomendada() + "C°");
        System.out.println();
        System.out.println("Producto Fresco: ");
        System.out.println("Fecha de caducidad: " + lechuga.getFechaCaducidad() + "\nNumero de Lote: " + lechuga.getNumeroLote()
                           + "\nFecha de envasado: " + lechuga.getFechaEnvasado() + "\nPais de Origen: " + lechuga.getPaisDeOrigen());
        System.out.println();
        System.out.println("Producto Refrigerado: ");
        System.out.println("Fecha de caducidad: " + jugo.getFechaCaducidad() + "\nNumero de Lote: " + jugo.getNumeroLote()
                           + "\nCodigo de supervision alimentaria: " + jugo.getCodigoSupervisionAlimentaria());
    }
}


Aquí la prueba, su ejecución:


Esperare sus comentarios y sus debidas correcciones

Saludos!

178
Hola de nuevo!

Que buen juego  ;D yo lo veo bien! La única linea que pienso que se podría cambiar:

Citar
System.out.println ("¿Quieres juegar de nuevo? Presiona 1");
            System.out.println ("Sino presiona cualquier otra tecla");
            Scanner entrada2 = new Scanner (System.in);
            j = entrada2.nextLine();

            System.out.println ("Gracias por jugar");

Puedes declarar el Scanner desde aqui arriba y te ahorras declarar otro Scanner ahi:

Citar
public static void main(String [] Args) {
        Scanner entrada = new Scanner (System.in);
        String j = "1";
        while (j.equals("1")) {

Cambia el nextLine() por next() en esta linea:

Citar
System.out.println ("¿Quieres juegar de nuevo? Presiona 1");
            System.out.println ("Sino presiona cualquier otra tecla");
            j = entrada.next();
            System.out.println ("Gracias por jugar");

Funciona igual si lo colocas asi! elimina el Scanner de ahi abajo, cambia el nextLine y veras... nextLine solo se usa para ingresar algo como:

"Soy un barrendero"

segun su programa tu solo necesitas que el usuario ingrese "1".
Saludos !

179
Buenos dias fede!

Así propuso el curso resolverlo:

Citar
miInteger = miInteger.valueOf (miString)

miInteger quiere decir, tu Integer... osea... entradaConvertida debió declararse anteriormente como Integer. Si declaras entradaConvertida como int te saldra el error:



Recordemos que int y Integer son dos cosas distintas. int es un tipo primitivo mientras que Integer es un objeto. El valueOf() funciona solamente con clases llamados "Tipos envolventes", ellas son:

1. Integer
2. Double
3. Float
4. Long
5. Byte
6. Short
7. Float
8. Double
9. Character
10. Boolean

Estas clases pueden acceder al valueOf(), en este caso era usar un Integer, quiero que copies este código y lo veas:
Código: [Seleccionar]
public static void main (String[] Args) {
        String entradaUsuario = JOptionPane.showInputDialog ( "Introduzca un número:" );
        Integer entradaConvertida = 0;
        entradaConvertida = entradaConvertida.valueOf (entradaUsuario);
        System.out.println ("El doble del número introducido es: " + 2* entradaConvertida);
    }

veras que funciona como se esperaba! para ponerlo mas entendible, el valueOf solo trabaja con objetos. En cuanto a su solucion, no esta mal, se cumplio lo que se queria...

Espero haber aclarado las dudas,
Saludos!

180
Buenas noches

Miren, yo el próximo cuatrimestre empezaré a dar en la universidad PHP, no tengo idea de qué es, y seguramente haga el curso de PHP desde cero aquí para tener los pies en la tierra! pero mi única duda es:

¿Requiere saber html para usar PHP?

Yo di html... en tercer año, y sinceramente ahora, estoy bien mal con eso, no recuerdo nada... es claro que también tomare ese curso aqui, pero solo quiero saber ese detalle!

Páginas: 1 ... 4 5 6 7 8 [9] 10 11 12 13 14

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".