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 - fedegaray

Páginas: [1] 2 3 4 5
1
Hola ronal.d87, además del aporte que te hizo RaGa, te apunto dos cosas:

1)  En el constructor no debes volver a poner el Tipo (boolean, String, etc.) ya que esto lo has hecho al declarar los campos. Cuando los inicializas n el constructor directamente pones el nombre de la variable

Código: [Seleccionar]
casado = false
2) Al poner

Código: [Seleccionar]
System.out.println (profesor1);
lo que le estas diciendo a java es que imprima una llamada al objeto profesor1 y no el objto en sí mismo. Además recuerda que lo que quieres imprimir, al ser un objeto que posee diversos atributos, por lo que debes especificarle a java qué aspectos de dicho objeto quieres imprimir en pantalla.
Una forma de ponerlo sería

Código: [Seleccionar]
System.out.println (El nombre del profesor es " + profesor1.getNombre() + " " + profesor1.getApellidos + ", y tiene " + profesor1.getEdad() + " años.");

2
Hola el_calderas! Tu ejercicio está muy bien respondido y la solución que ofreces funciona perfecto. Nada que señalar! Sigue así!

3
Hola Raultehx, gracias por acercarte a este foro para resolver tu duda. Te comparto mi apreciación sobre tu planteo. Creo que has construido muy bien ambas clases y en general son perfectamente funcionales En lo único que habría que hacer una modificación es en el método setGenero().

Ten en cuenta que la función del tipo enumerado es limitar las posibilidades que tiene el usuario para completar un campo. El enumerado le dice que sólo puede elegir entre las opciones pre configuradas por el programa. En este caso, quien cargue los datos de cada película en general podrá completar libremente todos los rubros, a excepción de género, en el cual se saltará error si pone una opción no prevista.

El motivo por el que se crea la clase película es el de crear los espacios de memoria en los cuales se alojará la información que el usuario final de programa ingresará luego. Por ejemplo, el título de la película, que completará el campo "película" de tu clase, se alojará en una variable temporal que tu has creado con el nombre "Película" (con P mayúscula). Eso lo has hecho muy bien con todos los rubros, pero en el rubro Género no sólo has creado una variable temporal para completar el campo, sino que luego le dijiste a Java que el valor de esa variable será "terror"...

     
Código: [Seleccionar]
genero=Genero.TERROR;
Además le has puesto a la variable local "genero" el mismo nombre que al campo "genero" y al no utilizar la palabra this no le avisas a Java cual es cual.

Entonces, si lo que queremos en la clase Pelicula es sólo declarar y luego inicializar los campos, pero no completarlos aun, lo que te propongo hacer en el método setGenero() sería simplemente dejar el campo genero cargado con la variable temporal (por ejemplo valorGenero). Quedaría algo así...

Código: [Seleccionar]
public void setGenero (Genero valorGenero)
    {
        genero=valorGenero;
    }

Cuando más tarde se ejecute el programa a través del cual se cargará la información, habrá que diseñar una manera para que el usuario pueda saber con qué opciones cuenta en este rubro en particular.

Espero haberte sido de ayuda, pero sobre todo espero que vuelvas pronto. Por si no lo sabes contamos con un curso online para aprender Java desde cero de una manera didáctica y fácil en https://www.aprenderaprogramar.es/index.php?option=com_content&view=category&id=68&Itemid=188

4
Mi respuesta al ejercicio 97!!! El último del curso!!!!

Citar
EJERCICIO

Se plantea desarrollar un programa Java que permita representar la siguiente situación. Una instalación deportiva es un recinto delimitado donde se practican deportes, en Java interesa disponer de un método int getTipoDeInstalacion(). Un edificio es una construcción cubierta y en Java interesa disponer de un método double getSuperficieEdificio(). Un polideportivo es al mismo tiempo una instalación deportiva y un edificio; en Java interesa conocer la superficie que tiene y el nombre que tiene. Un edificio de oficinas es un edificio; en Java interesa conocer el número de oficinas que tiene.

Definir dos interfaces y una clase que implemente ambas interfaces para representar la situación anterior. En una clase test con el método main, crear un ArrayList que contenga tres polideportivos y dos edificios de oficinas y utilizando un iterator, recorrer la colección y mostrar los atributos de cada elemento. ¿Entre qué clases existe una relación que se asemeja a la herencia múltiple?

Voy a comenzar respondiendo a la pregunta:

En la clase Polideportivo hay una relación semejante a la herencia múltiple, pues implementa las dos interfaces Edificio e InstalacionDeportiva. La clase EdificioDeOficinas, por otro lado, sólo implementa la interface Edificio, por lo que su "herencia" es simple.

Aquí van las clases:

Interface InstalacionDeportiva
Código: [Seleccionar]
public interface InstalacionDeportiva {
    int getTipoInstalacion ();
}

Interface Edificio
Código: [Seleccionar]
public interface Edificio {
    double getSuperficieEdificio();
   
    String toString();
}

Clase Polideportivo
Código: [Seleccionar]
public class Polideportivo implements InstalacionDeportiva, Edificio {
    private double largo;
    private double ancho;
    private String nombre;
    private String tipoInstalacion;
   
    public Polideportivo () {
        largo = 0;
        ancho = 0;
        nombre = "";
        tipoInstalacion = "";
    }
   
    public Polideportivo (double largo, double ancho, String nombre, String tipoInstalacion) {
        this.largo = largo;
        this.ancho = ancho;
        this.nombre = nombre;
        this.tipoInstalacion = tipoInstalacion;
    }
   
    public void setLargo (double largo) {
        this.largo = largo;
    }
   
    public void setAncho (double ancho) {
        this.ancho = ancho;
    }
   
    public void setNombre (String nombre) {
        this.nombre = nombre;
    }
   
    public void setTipoInstalacion (String tipoInstalacion) {
        this.tipoInstalacion = tipoInstalacion;
    }
   
    public double getLargo () {
        return largo;
    }
   
    public double getAncho () {
        return ancho;
    }
   
    public String getNombre () {
        return nombre;
    }
   
    public double getSuperficieEdificio () {
        return ancho * largo;
    }
   
    public int getTipoInstalacion () {
        if (tipoInstalacion.equals("Techado")) {
            return 1;
        } else if (tipoInstalacion.equals("Abierto")) {
            return 2;
        } else {
            return 3;
        }
    }
   
    public String toString () {
        return "\"Polideportivo " + getNombre() + "\": Posee una superficie de " + getSuperficieEdificio() + " metros, y es de tipo " + tipoInstalacion;
    }
}

Clase EdificioDeOficinas
Código: [Seleccionar]
public class EdificioDeOficinas implements Edificio {
    private int numeroDeOficinas;
    private double ancho;
    private double largo;
    private int numeroDePisos;
   
    public EdificioDeOficinas () {
        numeroDeOficinas = 0;
        ancho = 0;
        largo = 0;
        numeroDePisos = 0;
    }
   
    public EdificioDeOficinas (int numeroDeOficinas, double ancho, double largo, int numeroDePisos) {
        this.numeroDeOficinas = numeroDeOficinas;
        this.ancho = ancho;
        this.largo = largo;
        this.numeroDePisos = numeroDePisos;
    }
   
    public void setNumeroDeOficinas (int numeroDeOficinas) {
        this.numeroDeOficinas = numeroDeOficinas;
    }
   
    public void setAncho (double ancho) {
        this.ancho = ancho;
    }
   
    public void setLargo (double largo) {
        this.largo = largo;
    }
   
    public void setNumeroDePisos (int numeroDePisos) {
        this.numeroDePisos = numeroDePisos;
    }
   
    public int getNumeroDeOficinas () {
        return numeroDeOficinas;
    }
   
    public double getLargo () {
        return largo;
    }
   
    public double getAncho () {
        return ancho;
    }
   
    public int getNumeroDePisos () {
        return numeroDePisos;
    }
   
    public double getSuperficieEdificio () {
        return ancho * largo * numeroDePisos;
    }
   
    public String toString () {
        return "Edificio de " + getSuperficieEdificio() + " metros de superficie, con " + getNumeroDePisos() + " pisos, que alojan a " + getNumeroDeOficinas() + " oficinas";
    }
}

Clase TestConstrucciones
Código: [Seleccionar]
import java.util.List;
import java.util.ArrayList;
import java.util.Iterator;

public class TestConstrucciones {
    public static void main (String [] args) {
        List <Edificio> listaEdificios = new ArrayList <Edificio> ();
        Edificio poli1 = new Polideportivo (180.6, 25.7, "Municipal", "Techado");
        Edificio poli2 = new Polideportivo (205.8, 52, "Central", "Abierto");
        Edificio poli3 = new Polideportivo (190, 32, "Recrearte", "Techado");
        Edificio edi1 = new EdificioDeOficinas (52, 17.2, 55, 10);
        Edificio edi2 = new EdificioDeOficinas (109, 153.2, 290, 5);
        listaEdificios.add(poli1); listaEdificios.add(poli2); listaEdificios.add(poli3);
        listaEdificios.add(edi1); listaEdificios.add(edi2);
        Iterator <Edificio> it = listaEdificios.iterator ();
        while (it.hasNext()) {
            Edificio tmp = it.next();
            System.out.println (tmp.toString());
        }
    }
}

Al final de este último ejercicio tengo que decir gracias a todos los que sostienen este sitio, a los que redactan los cursos, a los que tanto ayudan a través de los foros y a toda esta comunidad en general. Esta ha sido una experiencia más que gratificante, que no se termia aquí, pues prontito nomás estaré iniciando el nivel avanzado, y de ahí a lo que siga. Por haber logrado que sea capaz de hacer algo que nunca hubiera imaginado hacer, solo puedo decir gracias, gracias y gracias.

5
Importante aclaración Ogramar, gracias por "desconfundirme"!! Había entendido mal el asunto.  Me había confundido con esto de que no se puede crear un objeto definido por una interface, pero claro, no estábamos hablando de un objeto sino de un tipo, y la interface sí define tipos.
Lo he releído y me ha quedado más claro. Muchas gracias

6
Qué buen ojo. Muchas gracias por la corrección. No podía encontrar la manera de pensarlo y me terminé enredando solo, y eso se notó en el código. Tendría que haberlo dejado un rato y retomarlo más tarde, seguro lo hubiera podido ver más claro.
Lo tendré muy en consideración, muchas gracias!!

7
Hola rubens23, tu clase está muy bien construida y has utilizado correctamente la palabra clave this. Puede que al comienzo nos resulte incómodo utilizarla, pero con el tiempo verás que es mucho más práctica que estar creando nombres distintos para las variables locales.

Lo único que puedo señalarte, pero es sólo una cuestión de buen estilo que no afecta a la funcionalidad del código, es que cuando inicialices un String con valores por defecto, lo hagas con dos comillas juntas ("") y no con un espacio intermedio (" "), ya que lo que se espera es que generes una cadena vacía, y en cambio del modo en que lo has puesto, la cadena no está vacía, sino que tiene un espacio, y eso es una cierta información.

Sigue adelante que vas muy bien con todo. Saludos!

8
Hola rogergcc. Ambas clases están bien construidas y funcionan correctamente.
En la clase ListaCantantesFamosos olvidaste importar las clases java.util.ArrayList y java.util.Scanner. Seguramente las habías cargado en tu código pero habrás olvidado copiarlo en el post del foro, ya que de otra manera no te habría funcionado.

Otro detalle es que en el constructor de esa misma clase no debes pasar como parámetro un ArrayList, sólo las variables locales con las que vas a completar los campos. Fíjate que si quieres instanciar la clase con el constructor que pide parámetros, no tendrás cómo completar ese campo.

Ahora vamos con tus preguntas.
1 - No estoy seguro de entender bien esta pregunta, pero si te refieres a que si se le puede pedir al usuario que determine cuántos objetos quiere añadir al ArrayList, eso seguro que es posible. No es lo que se pedía en este ejercicio, pero si el programador decide darle esa facultad al usuario, entonces sí tendría sentido.

2 - Cuando el código corre el riesgo de volverse repetitivo, debemos buscar la manera de simplificarlo con un bucle. Ya sea que el numero de elementos a añadir esté prefijado, o bien preguntándole al usuario si quiere añadir un nuevo elemento al finalizar cada rulo del bucle, para condicionar la continuidad o el fin del ciclo.

3 - Esta idea es muy válida, y de hecho se utiliza bastante. Puedes crear una clase EntradaDeTeclado, que básicamente sería una cosa así:

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

public class EntradaTeclado {

    private String entrada;

    public EntradaTeclado (){
        String entrada = "";
    }

    public void pedirEntrada () {
        Scanner nuevaEntrada = new Scanner (System.in);
        entrada = nuevaEntrada.nextLine();
    }
}

A esta clase le puedes crear todos los metodos que te vayan a resultar útiles en distintos programas, como por ejemplo getLongitud(), getEntrada(), getPrimeraLetra(), etc.

Cuando quieres utilizar esta clase desde una clase main, creas nuevas instancias de esta manera:

Código: [Seleccionar]
        EntradaTeclado entrada2 = new EntradaTeclado ();
e invocas sus métodos como los de cualquier objeto.

Espero haberte sido de ayuda.

9
Sólo quedan 4!!!

Estas son mis respuestas a la entrega 96...


a) ¿Una clase puede heredar de dos clases en Java?

Java no admite herencia múltiple. Pero puede heredar de una clase e implementar una o varias interfaces, o sólo implementar interfaces.


b) ¿Una interface Java puede tener métodos que incluyan una sentencia while? ¿Una interface Java puede tener métodos que incluyan una sentencia System.out.println?

Ambos casos son imposibles, ya que los métodos de las interfaces no tienen cuerpo.


c) 1 - ¿Un objeto Java puede ser del tipo definido por una interface?

Los objetos en Java no pueden ser definidos por el tipo de una interface.

c) 2 - ¿Un objeto Java puede ser al mismo tiempo del tipo definido por una interface y del tipo definido por una clase que no implementa la interface?

Esto no es posible

 c) 3- ¿Un objeto Java puede ser al mismo tiempo del tipo definido por una interface y del tipo definido por una clase que implementa la interface?

Esto sí es posible ya que la clase que implementa la interface "hereda" sus normas de construcción, por lo que el objeto creado es tanto del tipo de la clase, como de la interface.

10
Bueno bueno, estoy llegoando al final! Aquí mi resolución del ejercicio 95.

Citar
EJERCICIO

Declara una clase abstracta Legislador que herede de la clase Persona, con un atributo provinciaQueRepresenta (tipo String) y otros atributos. Declara un método abstracto getCamaraEnQueTrabaja. Crea dos clases concretas que hereden de Legislador: la clase Diputado y la clase Senador que sobreescriban los métodos abstractos necesarios. Crea una lista de legisladores y muestra por pantalla la cámara en que trabajan haciendo uso del polimorfismo.

Clase Persona
Código: [Seleccionar]
public class Persona {
    private String nombre;
    private String apellido;
    private int edad;
    private boolean casado;

    public Persona () {
        nombre = "";
        apellido = "";
        edad = 0;
        casado = false;
    }

    public Persona (String nombre, String apellido, int edad, boolean casado) {
        this.nombre = nombre;
        this.apellido = apellido;
        this.edad = edad;
        this.casado = casado;
    }

    public void setNombre (String nombre) {
        this.nombre = nombre;
    }

    public void setApellido (String apellido) {
        this.apellido = apellido;
    }

    public void setEdad (int edad) {
        this.edad = edad;
    }

    public void setCasado (boolean casado) {
        this.casado = casado;
    }

    public String getNombre () {
        return this.nombre;
    }

    public String getApellido () {
        return this.apellido;
    }

    public int getEdad () {
        return this.edad;
    }

    public boolean getCasado () {
        return this.casado;
    }
   
    public String toString() {
         String estadoCivil = " ";
        if (this.casado == false) {
            estadoCivil = " no ";
        } else {};
        Integer datoEdad = edad;
        return getNombre() + " " + getApellido() + " tiene " + datoEdad.toString() + " años, y" + estadoCivil + "está casado";
    }
}

Clase Legislador
Código: [Seleccionar]
public abstract class Legislador extends Persona{
    String provinciaQueRepresenta;
    String partidoPolitico;
    int numeroDespacho;
   
    public Legislador () {
        super ();
        provinciaQueRepresenta = "";
        partidoPolitico = "";
        numeroDespacho = 0;
    }
   
    public Legislador (String nombre, String apellido, int edad, boolean casado, String provinciaQueRepresenta, String partidoPolitico, int numeroDespacho) {
        super (nombre, apellido, edad, casado);
        this.provinciaQueRepresenta = provinciaQueRepresenta;
        this.partidoPolitico = partidoPolitico;
        this.numeroDespacho = numeroDespacho;
    }
   
    public void setProvinciaQueRepresenta (String provinciaQueRepresenta) {
        this.provinciaQueRepresenta = provinciaQueRepresenta;
    }
   
    public void setPartidoPolitico (String partidoPolitico) {
        this.partidoPolitico = partidoPolitico;
    }
   
    public void setNumeroDespacho (int numeroDespacho) {
        this.numeroDespacho = numeroDespacho;
    }
   
    public String getProvinciaQueRepresenta () {
        return provinciaQueRepresenta;
    }
   
    public String getPartidoPolitico () {
        return partidoPolitico;
    }
   
    public int getNumeroDespacho () {
        return numeroDespacho;
    }
   
    public String toString () {
        return super.toString() + "\nRepresenta a la Provincia de " + getProvinciaQueRepresenta() + " para el " + getPartidoPolitico() + "\nSu número de despacho es " + getNumeroDespacho();
    }
   
    abstract public void getCamaraEnQueTrabaja();
   
}

Clase Diputado
Código: [Seleccionar]
public class Diputado extends Legislador {
    private int asientoCamaraBaja;
   
    public Diputado () {
        super ();
        asientoCamaraBaja = 0;
    }
   
    public Diputado (String nombre, String apellido, int edad, boolean casado, String provinciaQueRepresenta, String partidoPolitico, int numeroDespacho, int asientoCamaraBaja) {
        super (nombre, apellido, edad, casado, provinciaQueRepresenta, partidoPolitico, numeroDespacho);
        this.asientoCamaraBaja = asientoCamaraBaja;
    }
   
    public void setAsientoCamaraBaja (int asientoCamaraBaja) {
        this.asientoCamaraBaja = asientoCamaraBaja;
    }
   
    public int getAsientoCamaraBaja () {
        return asientoCamaraBaja;
    }
   
    public String toString () {
        return super.toString() + "\nSu número de asiento en la Cámara Baja es " + getAsientoCamaraBaja();
    }
   
    public void getCamaraEnQueTrabaja () {
        System.out.println ("Diputados");
    }
}

Clase Senador
Código: [Seleccionar]
public class Senador extends Legislador {
    private int asientoCamaraAlta;
   
    public Senador () {
        super ();
        asientoCamaraAlta = 0;
    }
   
    public Senador (String nombre, String apellido, int edad, boolean casado, String provinciaQueRepresenta, String partidoPolitico, int numeroDespacho, int asientoCamaraAlta) {
        super (nombre, apellido, edad, casado, provinciaQueRepresenta, partidoPolitico, numeroDespacho);
        this.asientoCamaraAlta = asientoCamaraAlta;
    }
   
    public void setAsientoCamaraAlta (int asientoCamaraAlta) {
        this.asientoCamaraAlta = asientoCamaraAlta;
    }
   
    public int getAsientoCamaraAlta () {
        return asientoCamaraAlta;
    }
   
    public String toString () {
        return super.toString() + "\nSu número de asiento en la Cámara Alta es " + getAsientoCamaraAlta();
    }
   
    public void getCamaraEnQueTrabaja () {
        System.out.println ("Senadores");
    }
}

Clase NominaLegisladores
Código: [Seleccionar]
import java.util.ArrayList;

public class NominaLegisladores {
    private ArrayList<Legislador> listaLegisladores;

    public NominaLegisladores () {
        listaLegisladores = new ArrayList <Legislador> ();
    }

    public void agregaLegislador (Legislador nuevoLegislador) {
        listaLegisladores.add (nuevoLegislador);
    }
   
    public int getTamaño () {
        return listaLegisladores.size();
    }

    public void muestraContenido () {
        for (Legislador tmp: listaLegisladores) {
            System.out.println (tmp.toString());
            String tmpStr = "";
            if (tmp instanceof Diputado) {
                tmpStr = "Diputados";
            } else {
                tmpStr = "Senadores";
            }
            System.out.println ("Este Legislador trabaja en la Cámara de " + tmpStr + "\n");
        }
    }
}

Clase TestLegisladores
Código: [Seleccionar]
public class TestLegisladores {
    public static void main (String [] args) {
        Legislador leg1 = new Diputado ("Carlos", "Pérez", 49, true, "Córdoba", "FPV", 506, 25);
        Legislador leg2 = new Diputado ("Diego", "Ramírez", 51, false, "Buenos Aires", "PRO", 208, 95);
        Legislador leg3 = new Diputado ("Alberto", "Garay", 19, false, "Formosa", "Radicalismo", 774, 104);
        Legislador leg4 = new Diputado ("María", "Lopérfido", 39, true, "Neuquén", "UNEN", 225, 100);
        Legislador leg5 = new Senador ("Luisina", "Brando", 62, false, "Santa Fe", "PRO", 58, 97);
        Legislador leg6 = new Senador ("Nestor", "Kirchner", 61, true, "Santa Cruz", "FPV", 012, 41);
        Legislador leg7 = new Senador ("Cristina", "Fernández", 60, true, "Santa Cruz", "FPV", 013, 42);
        NominaLegisladores listaCongreso = new NominaLegisladores ();
        listaCongreso.agregaLegislador(leg1); listaCongreso.agregaLegislador(leg2);
        listaCongreso.agregaLegislador(leg3); listaCongreso.agregaLegislador(leg4);
        listaCongreso.agregaLegislador(leg5); listaCongreso.agregaLegislador(leg6);
        listaCongreso.agregaLegislador(leg7);
        System.out.println ("\f");
        System.out.println ("El total de legisladores es de " + listaCongreso.getTamaño());       
        System.out.println ("");
        listaCongreso.muestraContenido();
    }
}

11
Gracias por las observaciones. Todas son muy válidas y me ayudan a mejorar mi capacidad de codificar. Muchas gracias.
Quiero hacerte una pregunta, porqué a ti te aparecen esas lineas amarillas? en mi BlueJ no aparecen. Será que tengo una versión anticuada quizás?

12
Hola otra vez. Casi llegando al final del curso, vine a mostrar mi resolución de la entrega 94.

Citar
EJERCICIO

Define una clase Figura de la que hereden otras dos clases denominadas Cuadrado y Círculo. La clase figura debe tener al menos el campo dimensionPrincipal. Las clases Cuadrado y Círculo deben tener al menos un método calcularArea que permita calcular el área a partir de la dimensión principal, utilizando la fórmula matemática correspondiente. Además, sobreescribe el método equals para que dos cuadrados sean iguales si tienen igual dimensión principal, y dos círculos idem. A continuación crea un programa test donde crees varios círculos y cuadrados y hagas comprobaciones de igualdad usando el método equals.

Clase Figura
Código: [Seleccionar]
public class Figura {
    protected double PI = 3.1416;
    protected double dimensionPrincipal;

    public Figura () {
        dimensionPrincipal = 0.0d;
    }

    public Figura (double dimensionPrincipal) {
        this.dimensionPrincipal = dimensionPrincipal;
    }

    public void setDimensionPrincipal (double dimensionPrincipal) {
        this.dimensionPrincipal = dimensionPrincipal;
    }

    public double getDimensionPrincipal () {
        return dimensionPrincipal;
    }

    public boolean equals (Object obj) {
        if (obj instanceof Figura) {
            Figura tmpFigura = (Figura) obj;
            if (this.dimensionPrincipal==tmpFigura.dimensionPrincipal) {
                return true;
            } else {
                return false;
            }
        } else {
            return false;
        }
    }
}

Clase Cuadrado
Código: [Seleccionar]
public class Cuadrado extends Figura {
   
    public Cuadrado () {
        super();
    }
   
    public Cuadrado (double dimensionPrincipal) {
        super (dimensionPrincipal);
    }
   
    public void setDimensionPrincipal (double dimensiónPrincipal) {
        super.setDimensionPrincipal(dimensiónPrincipal);
    }
    public double getDimensiónPrincipal () {
        return super.getDimensionPrincipal();
    }
   
    public double calcularArea () {
        return dimensionPrincipal * dimensionPrincipal;
    }
   
    public boolean equals (Object obj) {
        if (obj instanceof Cuadrado) {
            Cuadrado tmpCuadrado = (Cuadrado) obj;
             if (super.equals(tmpCuadrado)) {
                return true;
            } else {
                return false;
            }
        } else {
            return false;
        }
    }
}

Clase Circulo
Código: [Seleccionar]
public class Circulo extends Figura {
   
    public Circulo () {
        super();
    }
   
    public Circulo (double dimensionPrincipal) {
        super (dimensionPrincipal);
    }
   
    public double calcularArea () {
        return (( dimensionPrincipal / 2 ) * ( dimensionPrincipal / 2 )) * PI ;
    }
   
    public void setDimensionPrincipal (double dimensiónPrincipal) {
        super.setDimensionPrincipal(dimensiónPrincipal);
    }
    public double getDimensiónPrincipal () {
        return super.getDimensionPrincipal();
    }
   
    public boolean equals (Object obj) {
        if (obj instanceof Circulo) {
            Circulo tmpCirculo = (Circulo) obj;
             if (super.equals(tmpCirculo)) {
                return true;
            } else {
                return false;
            }
        } else {
            return false;
        }
    }
}

Clase TestFigura
Código: [Seleccionar]
public class TestFigura {
    public static void main (String [] args) {
        Cuadrado cuad1 = new Cuadrado (52);
        Cuadrado cuad2 = new Cuadrado (31);
        Cuadrado cuad3 = new Cuadrado (52);
        Circulo circ1 = new Circulo (33);
        Circulo circ2 = new Circulo (33);
        Circulo circ3 = new Circulo (52);
        System.out.println ("cuad1 es igual a cuad2: " + cuad1.equals(cuad2));
        System.out.println ("cuad1 es igual a cuad3: " + cuad1.equals(cuad3));
        System.out.println ("cuad1 es igual a circ1: " + cuad1.equals(circ1));
        System.out.println ("cuad1 es igual a circ2: " + cuad1.equals(circ2));
        System.out.println ("cuad1 es igual a circ3: " + cuad1.equals(circ3));
        System.out.println ("cuad2 es igual a cuad3: " + cuad2.equals(cuad3));
        System.out.println ("cuad2 es igual a circ1: " + cuad2.equals(circ1));
        System.out.println ("cuad2 es igual a circ2: " + cuad2.equals(circ2));
        System.out.println ("cuad2 es igual a circ3: " + cuad2.equals(circ3));
        System.out.println ("cuad3 es igual a circ1: " + cuad3.equals(circ1));
        System.out.println ("cuad3 es igual a circ2: " + cuad3.equals(circ2));
        System.out.println ("cuad3 es igual a circ3: " + cuad3.equals(circ3));
        System.out.println ("circ1 es igual a circ2: " + circ1.equals(circ2));
        System.out.println ("circ1 es igual a circ3: " + circ1.equals(circ3));
        System.out.println ("circ2 es igual a circ3: " + circ2.equals(circ3));
    }
}


13
Muchas gracias por tu cálida respuesta! y claro que puedes usar todos los dibujos que te gusten. Digamos que son de copyright libre. Y sobre todo para este sitio que tanto me está dando.
Adhiero a que la programación puede ser abordada desde diferentes puntos de vista, y en mi caso se trata de un asunto lúdico y lógico. Aspiro a poder llevar todo lo que aprenda hacia la consecución de algún proyecto interesante, ya que creo que eso me haría sentir realizado.
un gran abrazo nuevamente, ah, y gracias por autorizarme a poder ayudar a quienes recién se inician, me ha hecho sentir muy bien el hecho de que me consideres capaz!!

14
Hola gente! Resulta que hace meses que estoy participando de este foro y aprendiendo sin parar sobre este atrapante mundo de la programación Java, y hasta ahora no me había fijado en que existía este apartado para poder presentarme con las personas que vengo interactuando desde hace tanto tiempo. Pues aquí vamos.

Mi nombre es Federico Garay (eso seguro que mi poco creativo nombre de usuario ya lo había dejado en claro, je), tengo 39 añitos y soy argentino. Vivo en el centro de mi país, en una provincia que se llama Córdoba. Vivo con mi esposa y mis hermosas hijas de 10 y 13 años, que son lo más bello que me pasó en la vida.

De profesión soy psicólogo y me especializo en el tratamiento de drogadependientes, pero aparte de mi trabajo tengo mucho interés por conocer otros campos del arte y el conocimiento. Me gusta mucho dibujar (al que le interese puede ver mis dibujos en http://cadatantodibujo.blogspot.com.ar/) y tocar la guitarra. Desde hace algunos años también practico canto.

El nuevo interés que ha explotado dentro mio, no sé cómo ni por qué, es ahora la programación java. Me ha resultado bastante difícil ya que a esta edad comenzar a problematizarse con estas complejidades totalmente nuevas para mí, ha implicado que mi cerebro se vaya ablandando de a poco. Por suerte, y en esto estoy muy agradecido, encontré este curso tan bien redactado y ordenado, permitiendo que personas totalmente ajenas al asunto, que nunca conocimos otros lenguajes ni tenemos experiencia previa, podamos entender tan bien esta lógica de pensamiento. Admito que cuando empezaron las lecciones sobre colecciones y listados me perdí tanto que pensé que hasta ahí había llegado y que ya no podía entender más nada. Estuve a punto de abandonar y de hecho lo hice por mucho tiempo. Por suerte usé una estrategia que recomiendo a quienes les pase lo mismo: volví a empezar de cero. Así es. Borré todas las clases que había creado hasta el momento, volví a realizar las casi 60 lecciones que había hecho hasta el momento, y me di cuenta de que en esta segunda pasada iba entendiendo todo de un modo distinto. Consolidando lo aprendido de un modo muy sólido, y así, cuando volví a llegar a la parte problemática... me salió sin problemas. Se había producido el hermoso y placentero fenómeno que más me reconforta: había aprendido algo que sólo podía aprender con esfuerzo.

Bueno, al final esto parece una sesión de terapia, jajaja. Un abrazo a todos, especialmente a los que tanto me ayudan corrigiendo mis errores y proponiendome mejoras.

Nos estamos viendo!

15
Claro que me has ayudado! Un gran abrazo!

16
Pero claro! Se me pasó por alto esa síntesis! gracias por ayudarme a verlo!

17
Hola otra vez! Vine a resolver el ejercicio de la entrega 92. Aquí vamos

Clase Profesor
Código: [Seleccionar]
public class Profesor {
    private String nombre;
    private int edad;
    private int añosConsolidados;
   
    public Profesor () {
        nombre = "";
        edad = 0;
        añosConsolidados = 0;
    }
   
    public Profesor (String nombre, int edad, int añosConsolidados) {
        this.nombre = nombre;
        this.edad = edad;
        this.añosConsolidados = añosConsolidados;
    }
   
    public void setNombre (String nombre) {
        this.nombre = nombre;
    }
   
    public void setEdad (int edad) {
        this.edad = edad;
    }
   
    public void setAñosConsolidados (int añosConsolidados) {
        this.añosConsolidados = añosConsolidados;
    }
   
    public String getNombre () {
        return nombre;
    }
   
    public int getEdad () {
        return edad;
    }
   
    public int añosConsolidados () {
        return añosConsolidados;
    }
   
    public double obtenerSalarioBase () {
        double salarioBase = 725 + (añosConsolidados*33.25);
        return salarioBase;
    }
}


Clase ProfesoEmerito
Código: [Seleccionar]
public class ProfesorEmerito extends Profesor {
    private int añosEmerito;
   
    public ProfesorEmerito () {
        super ();
        añosEmerito = 0;
    }
   
    public ProfesorEmerito (String nombre, int edad, int añosConsolidados, int añosEmerito) {
        super (nombre, edad, añosConsolidados);
        this.añosEmerito = añosEmerito;
    }
   
    public void setAñosEmerito (int añosEmerito) {
        this.añosEmerito = añosEmerito;
    }
   
    public int getAñosEmerito () {
        return añosEmerito;
    }
   
    public double obtenerSalarioBase () {
        double salarioEmerito = super.obtenerSalarioBase() + (añosEmerito*47.80);
        return salarioEmerito;
    }
}


Clase TestEmerito
Código: [Seleccionar]
import java.util.Scanner;

public class TestEmerito {
    public static void main (String [] args) {
        System.out.println ("\f");
        ProfesorEmerito profe1 = new ProfesorEmerito ("Alberto López", 53, 32, 12);
        System.out.println ("El salario del profesor emérito " + profe1.getNombre() + " es de " + profe1.obtenerSalarioBase() + " pesos mensuales.");
    }
}

18
Qué increible! Además de disponer de este completísimo curso también contamos con ayuda tan personalizada! Muchas gracias por ambos aportes. No me había dado cuenta de lo primero, me has ayudado a pensar mejor, y de lo segundo creo que debería haberlo podido ver! Error mío. Muchas gracias de nuevo y allá vamos a por la lección que sigue!

19
Hola hola hola. Me hago presente para dar respuesta al cuestionario de la lección 90.

Citar
EJERCICIO

Responde a las siguientes preguntas:

Supongamos la superclase Vehiculo que representa a cualquier tipo de vehículo y la subclase Taxi que representa a un tipo de vehículo concreto.

a) ¿Un objeto de tipo estático declarado Taxi puede contener a un objeto Vehiculo en tiempo de ejecución?

Sí que puede.

Citar
b) ¿Un objeto de tipo estático declarado Vehiculo puede contener a un objeto Taxi en tiempo de ejecución?

También es posible, pero con el costo de perder cierta información que contenía el subtipo.

Citar
c) Escribe el código de una clase Vehiculo con los atributos matricula (String) y numeroDeRuedas (int), constructor, métodos getters y setters y método toString() para mostrar la información de un vehículo.

Código: [Seleccionar]
public class Vehiculo {
    private String matricula;
    private int numeroDeRuedas;
   
    public Vehiculo () {
        matricula = "";
        numeroDeRuedas = 0;
    }
   
    public Vehiculo (String valorMatricula, int valorNumeroDeRuedas) {
        matricula = valorMatricula;
        numeroDeRuedas = valorNumeroDeRuedas;
    }
   
    public void setMatricula (String valorMatricula) {
        matricula = valorMatricula;
    }
   
    public void setNumeroDeRuedas (int valorNumeroDeRuedas) {
        numeroDeRuedas = valorNumeroDeRuedas;
    }
   
    public String getMatricula () {
        return matricula;
    }
   
    public int getNumeroDeRuedas () {
        return numeroDeRuedas;
    }
   
    public String toString () {
        String info  = "La matrícula del vehículo es: " + getMatricula() + "\nEl vehículo tiene " + getNumeroDeRuedas() + " ruedas";
        return info;
    }
}

Citar
d) Escribe el código de una clase Taxi que herede de vehículo y que además de los atributos de Vehiculo lleve un atributo adicional nombreDelConductor (String) y numeroDePlazas (int), constructor, métodos getters y setters y método toString() para mostrar la información de un Taxi.

Código: [Seleccionar]
public class Taxi extends Vehiculo {
    String nombreDelConductor;
    int numeroDePlazas;
   
    public Taxi () {
        super ();
        nombreDelConductor = "";
        numeroDePlazas = 0;
    }
   
    public Taxi (String valorMatricula, int valorNumeroDeRuedas, String valorNombreDelConductor, int valorNumeroDePlazas) {
        super (valorMatricula, valorNumeroDeRuedas);
        nombreDelConductor = valorNombreDelConductor;
        numeroDePlazas = valorNumeroDePlazas;
    }
   
    public void setNombreDelConductor (String valorNombreDelConductor) {
        nombreDelConductor = valorNombreDelConductor;
    }
   
    public void setNumeroDePlazas (int valorNumeroDePlazas) {
        numeroDePlazas = valorNumeroDePlazas;
    }
   
    public String getNombreDelConductor () {
        return nombreDelConductor;
    }
   
    public int getNumeroDePlazas () {
        return numeroDePlazas;
    }
   
    public String toString () {
        super.toString();
        String mensaje = "El nombre del conductor es " + getNombreDelConductor() + " y el taxi posee " + getNumeroDePlazas() + " plazas";
        return mensaje;
    }
}

Citar
e) Escribe el código de una clase test con el método main que cree un objeto cuyo tipo es Vehiculo, instanciado como Taxi. Establece valores para sus atributos y usa el método toString(). ¿Qué método toString() resulta de aplicación, el propio de la clase Vehiculo o el propio de la clase Taxi? ¿Por qué?

Código: [Seleccionar]
public class TestVehiculo {
    public static void main (String [] args) {
        Vehiculo taxi1 = new Taxi ("FG55685", 4, "Tito", 5);
        System.out.println (taxi1.toString());
    }
}

El método toString() que resultó de la aplicación es el propio de la clase Taxi, ya que durante la ejecución el sistema busca el método primeramente en la subclase, y sólo si no lo encuentra allí acudirá a la clase padre. En este ejemplo, sí pudo encontrarla en la subclase.

20
Hola! Vengo a resolver (después de muuuuucho trabajo) el ejercicio de la entrega nro 88.

EJERCICIO

Citar
Amplía el código del programa Java que planteamos como ejercicio en la entrega CU00687 de este curso, relativo a la gestión de una empresa agroalimentaria, teniendo en cuenta que la empresa gestiona envíos a través de diferentes medios, y un envío puede contener cierto número de productos frescos, refrigerados o congelados. Añade al código:

a) Una clase EnvioDeProductos que represente un envío de productos como colección de objetos que admite el polimorfismo.

b) Crear una clase testHerencia4 con el método main donde se creen: dos productos frescos, tres productos refrigerados y cinco productos congelados (2 de ellos congelados por agua, otros 2 por agua y 1 por nitrógeno). Crear un envío que represente la agrupación de los anteriores productos. Mostrar por pantalla la información del número de productos que componen el envío y recorrer los productos del envío usando iterator para mostrar la información (valor de los atributos) de cada uno de ellos.



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

public class Producto {
    private String fechaCaducidad;
    private int numeroLote;
    private String fechaEnvio;
    private String paisOrigen;
   
    public Producto () {
        fechaCaducidad = "";
        numeroLote = 0;
        fechaEnvio = "";
        paisOrigen = "";
    }
   
    public Producto (String valorFechaCaducidad, int valorNumeroLote, String valorFechaEnvio, String valorPaisOrigen) {
        fechaCaducidad = valorFechaCaducidad;
        numeroLote = valorNumeroLote;
        fechaEnvio = valorFechaEnvio;
        paisOrigen = valorPaisOrigen;
    }
   
    public void setFechaCaducidad (String valorFechaCaducidad){
        fechaCaducidad = valorFechaCaducidad;
    }
   
    public void setNumeroLote (int valorNumeroLote) {
        numeroLote = valorNumeroLote;
    }
   
    public void setFechaEnvio (String valorFechaEnvio) {
        fechaEnvio = valorFechaEnvio;
    }
   
    public void setPaisOrigen (String valorPaisOrigen) {
        paisOrigen = valorPaisOrigen;
    }
   
    public String getFechaCaducidad () {
        return fechaCaducidad;
    }
   
    public int getNumeroLote () {
        return numeroLote;
    }
   
    public String getFechaEnvio () {
        return fechaEnvio;
    }
   
    public String getPaisOrigen () {
        return paisOrigen;
    }
   
    public void dameDatos () {
        System.out.println ("Fecha de caducidad: " + getFechaCaducidad() + "\nNúmero de lote: " + getNumeroLote() + "\nFecha de envío: " + getFechaEnvio() + "\nPaís de origen: " + getPaisOrigen ());
    }
}



Clase ProductoFresco
Código: [Seleccionar]
package Productos;
public class ProductoFresco extends Producto  {
   
    public ProductoFresco () {
        super ();
    }
   
    public ProductoFresco (String valorFechaCaducidad, int valorNumeroLote, String valorFechaEnvasado, String valorPaisOrigen) {
        super (valorFechaCaducidad, valorNumeroLote, valorFechaEnvasado, valorPaisOrigen);
    }
   
    public void dameDatos() {
        super.dameDatos();
    }
}



Clase ProRefCon
Código: [Seleccionar]
package Productos;

public class ProRefCon extends Producto {
    private int tempMantRec;
   
    public ProRefCon () {
        super ();
        tempMantRec = 0;
    }
   
    public ProRefCon (String valorFechaCaducidad, int valorNumeroLote, String valorFechaEnvasado, String valorPaisOrigen, int valorTempMantRec) {
        super (valorFechaCaducidad, valorNumeroLote, valorFechaEnvasado, valorPaisOrigen);
        tempMantRec = valorTempMantRec;
    }
   
    public void setTempMantRec (int valorTempMantRec) {
        tempMantRec = valorTempMantRec;
    }
   
    public int getTempMantRec () {
        return tempMantRec;
    }
   
    public void dameDatos() {
        super.dameDatos();
        System.out.println ("Temperatura de mantenimiento recomendada: " + getTempMantRec() + " grados");
    }
}



Clase ProductoRefrigerado
Código: [Seleccionar]
package Productos;

public class ProductoRefrigerado extends ProRefCon  {
    private String codigoSupervAlim;
   
    public ProductoRefrigerado () {
        super ();
        codigoSupervAlim = "";
    }
   
    public ProductoRefrigerado (String valorFechaCaducidad, int valorNumeroLote, String valorFechaEnvasado, String valorPaisOrigen, int valorTempMantRec, String valorCodigoSupervAlim) {
        super (valorFechaCaducidad, valorNumeroLote, valorFechaEnvasado, valorPaisOrigen, valorTempMantRec);
        codigoSupervAlim = valorCodigoSupervAlim;
    }
       
    public void getCodigoSupervAlim (String valorCodigoSupervAlim) {
        codigoSupervAlim = valorCodigoSupervAlim;
    }
   
    public String getCodigoSupervAlim () {
        return codigoSupervAlim;
    }
   
    public void dameDatos() {
        super.dameDatos();
        System.out.println ("Código del organismo de supervición alimentaria: " + getCodigoSupervAlim());
    }
}



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

public class ProductoCongelado extends ProRefCon  {
   
    public ProductoCongelado () {
        super ();
    }
   
    public ProductoCongelado (String valorFechaCaducidad, int valorNumeroLote, String valorFechaEnvasado, String valorPaisOrigen, int valorTempMantRec) {
        super (valorFechaCaducidad, valorNumeroLote, valorFechaEnvasado, valorPaisOrigen, valorTempMantRec);
    }
   
    public void dameDatos() {
        super.dameDatos();
    }
}



Clase ProductoCongeladoAire
Código: [Seleccionar]
package Productos;

public class ProductoCongeladoAire extends ProductoCongelado {
    private double porcentajeNitrogeno;
    private double porcentajeOxigeno;
    private double porcentajeDioxidoDeCarbono;
    private double porcentajeVaporDeAgua;

    public ProductoCongeladoAire () {
        super ();
        porcentajeNitrogeno = 0;
        porcentajeOxigeno = 0;
        porcentajeDioxidoDeCarbono = 0;
        porcentajeVaporDeAgua = 0;
    }

    public ProductoCongeladoAire (String valorFechaCaducidad, int valorNumeroLote, String valorFechaEnvasado, String valorPaisOrigen, int valorTempMantRec, double valorPorcentajeNitrogeno, double valorPorcentajeOxigeno, double valorPorcentajeDioxidoDeCarbono, double valorPorcentajeVaporDeAgua) {
        super (valorFechaCaducidad, valorNumeroLote, valorFechaEnvasado, valorPaisOrigen, valorTempMantRec);
        porcentajeNitrogeno = valorPorcentajeNitrogeno;
        porcentajeOxigeno = valorPorcentajeOxigeno;
        porcentajeDioxidoDeCarbono = valorPorcentajeDioxidoDeCarbono;
        porcentajeVaporDeAgua = valorPorcentajeVaporDeAgua;
    }
   
    public void setPorcentajeNitrogeno (double valorPorcentajeNitrogeno) {
        porcentajeNitrogeno = valorPorcentajeNitrogeno;
    }
   
    public void setPorcentajeOxigeno (double valorPorcentajeOxigeno) {
        porcentajeOxigeno = valorPorcentajeOxigeno;
    }
   
    public void setPorcentajeDioxidoDeCarbono (double valorPorcentajeDioxidoDeCarbono) {
        porcentajeDioxidoDeCarbono = valorPorcentajeDioxidoDeCarbono;
    }
   
    public void setPorcentajeVaporDeAgua (double valorPorcentajeVaporDeAgua) {
        porcentajeVaporDeAgua = valorPorcentajeVaporDeAgua;
    }
   
    public double getPorcentajeNitrogeno () {
        return porcentajeNitrogeno;
    }
   
    public double getPorcentajeOxigeno () {
        return porcentajeOxigeno;
    }
   
    public double getPorcentajeDioxidoDeCarbono () {
        return porcentajeDioxidoDeCarbono;
    }
   
    public double getPorcentajeVaporDeAgua () {
        return porcentajeVaporDeAgua;
    }
   
    public void dameDatos () {
        super.dameDatos ();
        System.out.println ("Composición del aire con que fue congelado:\nNitrógeno: " + getPorcentajeNitrogeno() + "%\nOxígeno: " + getPorcentajeOxigeno() + "%\nDióxido de carbono: " + getPorcentajeDioxidoDeCarbono() + "%\nVapor de agua: " + getPorcentajeVaporDeAgua() + "%");
    }
}



Clase ProductoCongeladoAgua
Código: [Seleccionar]
package Productos;

public class ProductoCongeladoAgua extends ProductoCongelado {
    private int salPorLitro;

    public ProductoCongeladoAgua () {
        super ();
        salPorLitro = 0;
    }

    public ProductoCongeladoAgua (String valorFechaCaducidad, int valorNumeroLote, String valorFechaEnvasado, String valorPaisOrigen, int valorTempMantRec, int valorSalPorLitro) {
        super (valorFechaCaducidad, valorNumeroLote, valorFechaEnvasado, valorPaisOrigen, valorTempMantRec);
        salPorLitro = valorSalPorLitro;
    }
   
    public void setSalPorLitro (int valorSalPorLitro) {
        salPorLitro = valorSalPorLitro;
    }
   
    public int getSalPorLitro () {
        return salPorLitro;
    }
   
    public void dameDatos () {
        super.dameDatos ();
        System.out.println ("Salinidad: " + getSalPorLitro() + " grs. por litro de agua");
    }
}



Clase ProductoCongeladoNitrogeno
Código: [Seleccionar]
package Productos;

public class ProductoCongeladoNitrogeno extends ProductoCongelado {
    private String metodo;
    private int tiempoExposicion;

    public ProductoCongeladoNitrogeno () {
        super ();
        metodo = "";
        tiempoExposicion = 0;
    }

    public ProductoCongeladoNitrogeno (String valorFechaCaducidad, int valorNumeroLote, String valorFechaEnvasado, String valorPaisOrigen, int valorTempMantRec, String valorMetodo, int valorTiempoExposicion) {
        super (valorFechaCaducidad, valorNumeroLote, valorFechaEnvasado, valorPaisOrigen, valorTempMantRec);
        metodo = valorMetodo;
        tiempoExposicion = valorTiempoExposicion;
    }
   
    public void setMetodo (String valorMetodo) {
        metodo = valorMetodo;
    }
   
    public void setTiempoExposicion (int valorTiempoExposicion) {
        tiempoExposicion = valorTiempoExposicion;
    }
   
    public String getMetodo () {
        return metodo;
    }
   
    public int getTiempoExposicion () {
        return tiempoExposicion;
    }
   
    public void dameDatos () {
        super.dameDatos ();
        System.out.println ("Método de congelación empleado: " + getMetodo() + "\nTiempo de exposición al nitrógeno: " + getTiempoExposicion() + " segundos");
    }
}



Clase EnvioDeProductos
Código: [Seleccionar]
package Productos;
import java.util.*;

public class EnvioDeProductos {
    ArrayList <Producto> listaDeEnvio;

    public EnvioDeProductos () {
        listaDeEnvio = new ArrayList <Producto> ();
    }

    public void addProducto (Producto valorProducto) {
        listaDeEnvio.add (valorProducto);
    }

    public int getTamaño () {
        return listaDeEnvio.size();
    }

    public void dameDatos () {
        int i = 0;
        for (Producto tmp : listaDeEnvio) {
            i++;
            System.out.println ("PRODUCTO " + i);
            tmp.dameDatos();
            System.out.println ("");
        }
       
    }
}



Clase TestProducto
Código: [Seleccionar]
package Productos;
import java.util.*;

public class TestProducto {
    public static void main (String [] args) {
        ProductoFresco proFres1 = new ProductoFresco ("25/03/2017", 5542, "14/01/2013", "México");
        ProductoFresco proFres2 = new ProductoFresco ("17/11/2018", 445854, "14/01/2013", "Perú");
        ProductoRefrigerado proRef1 = new ProductoRefrigerado ("17/02/2020", 41544, "14/01/2013", "Francia", 14, "sd5d5f4d");
        ProductoRefrigerado proRef2 = new ProductoRefrigerado ("05/11/2027", 55442, "14/01/2013", "Argentina", 04, "5d54e5f5d");
        ProductoRefrigerado proRef3 = new ProductoRefrigerado ("03/07/2016", 774, "14/01/2013", "Argentina", -11, "dd4f5r5d");
        ProductoCongeladoAire proConAi1 = new ProductoCongeladoAire ("01/07/2017", 745552, "14/01/2013", "Holanda", 12, 25, 25, 25, 25);
        ProductoCongeladoAire proConAi2 = new ProductoCongeladoAire ("12/07/2017", 34197, "14/01/2013", "Perú", 10, 20, 10, 50, 20);
        ProductoCongeladoAgua proConAg1 = new ProductoCongeladoAgua ("11/06/2019", 2044500, "14/01/2013", "Brasil", 03, 320);
        ProductoCongeladoAgua proConAg2 = new ProductoCongeladoAgua ("1/12/2022", 20055, "14/01/2013", "Chile", 02, 110);
        ProductoCongeladoNitrogeno proConNit1 = new ProductoCongeladoNitrogeno ("25/11/2020", 75454, "14/01/2013", "Francia", 01, "Frío seco", 55);
        EnvioDeProductos listado1 = new EnvioDeProductos ();
        listado1.addProducto(proFres1); listado1.addProducto(proFres2); listado1.addProducto(proRef1);
        listado1.addProducto(proRef2); listado1.addProducto(proRef3); listado1.addProducto(proConAi1);
        listado1.addProducto(proConAi2); listado1.addProducto(proConAg1);
        listado1.addProducto(proConAg2); listado1.addProducto(proConNit1);
        System.out.println ("\f");
        System.out.println ("El envío consta de " + listado1.getTamaño() + " productos");
        System.out.println ("");
        listado1.dameDatos();
       
    }
}

Voy a estar muy agradecido de recibir una evaluación de lo que pude hacer. Este curso está genial!



Páginas: [1] 2 3 4 5

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".