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.


Temas - fedegaray

Páginas: [1] 2
1
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.

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

3
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();
    }
}

4
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));
    }
}


5
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!

6
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.");
    }
}

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

8
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!



9
Hola otra vez. Veamos como me salió este ejercicio. Son un montón de clases, ya que además de las que pide el ejercicio, decidí crear una clase ProductoRefCon, que agrupa atributos de las clases ProductoRefrigerado y ProductoCongelado, y de esa manera evitar la repetición de código.
En este ejemplo no he inicializado las variables con valores por defecto, sino con valores específicos, para ver si la clase Test muestra correctamente los datos del producto.
Aquí vamos:

Clase Producto
Código: [Seleccionar]
public class Producto {
    private String fechaCaducidad;
    private int numeroLote;
    private String fechaEnvio;
    private String paisOrigen;
   
    public Producto () {
        fechaCaducidad = "14/02/2018";
        numeroLote = 52525542;
        fechaEnvio = "25/01/2015";
        paisOrigen = "Perú";
    }
   
    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());
        System.out.println ("Número de lote: " + getNumeroLote());
        System.out.println ("Fecha de envío: " + getFechaEnvio());
        System.out.println ("País de origen: " + getPaisOrigen ());
    }
}


Clase ProductoFresco
Código: [Seleccionar]
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]
public class ProRefCon extends Producto {
    private int tempMantRec;
   
    public ProRefCon () {
        super ();
        tempMantRec = 11;
    }
   
    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]
public class ProductoRefrigerado extends ProRefCon  {
    private String codigoSupervAlim;
   
    public ProductoRefrigerado () {
        super ();
        codigoSupervAlim = "75jhyn";
    }
   
    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]
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]
public class ProductoCongeladoAire extends ProductoCongelado {
    private double porcentajeNitrogeno;
    private double porcentajeOxigeno;
    private double porcentajeDioxidoDeCarbono;
    private double porcentajeVaporDeAgua;

    public ProductoCongeladoAire () {
        super ();
        porcentajeNitrogeno = 25.5;
        porcentajeOxigeno = 10.4;
        porcentajeDioxidoDeCarbono = 55;
        porcentajeVaporDeAgua = 10;
    }

    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:");
        System.out.println ("Nitrógeno: " + getPorcentajeNitrogeno() + "%");
        System.out.println ("Oxígeno: " + getPorcentajeOxigeno() + "%");
        System.out.println ("Dióxido de carbono: " + getPorcentajeDioxidoDeCarbono() + "%");
        System.out.println ("Vapor de agua: " + getPorcentajeVaporDeAgua() + "%");
    }
}


Clase ProductoCongeladoAgua
Código: [Seleccionar]
public class ProductoCongeladoAgua extends ProductoCongelado {
    private int salPorLitro;

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

    public ProductoCongeladoAgua (String valorFechaCaducidad, int valorNumeroLote, String valorFechaEnvasado, String valorPaisOrigen, int valorTempMantRec, double valorPorcentajeNitrogeno, double valorPorcentajeOxigeno, double valorPorcentajeDioxidoDeCarbono, double valorPorcentajeVaporDeAgua, 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]
public class ProductoCongeladoNitrogeno extends ProductoCongelado {
    private String metodo;
    private int tiempoExposicion;

    public ProductoCongeladoNitrogeno () {
        super ();
        metodo = "Frio seco";
        tiempoExposicion = 775;
    }

    public ProductoCongeladoNitrogeno (String valorFechaCaducidad, int valorNumeroLote, String valorFechaEnvasado, String valorPaisOrigen, int valorTempMantRec, double valorPorcentajeNitrogeno, double valorPorcentajeOxigeno, double valorPorcentajeDioxidoDeCarbono, double valorPorcentajeVaporDeAgua, 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());
        System.out.println ("Tiempo de exposición al nitrógeno: " + getTiempoExposicion() + " segundos");
    }
}


Clase TestProducto
Código: [Seleccionar]
public class TestProducto {
    public static void main (String [] args) {
        ProductoFresco proFres1 = new ProductoFresco ();
        ProductoFresco profres2 = new ProductoFresco ();
        ProductoRefrigerado proRef1 = new ProductoRefrigerado ();
        ProductoRefrigerado proRef2 = new ProductoRefrigerado ();
        ProductoRefrigerado proRef3 = new ProductoRefrigerado ();
        ProductoCongeladoAire proConAi1 = new ProductoCongeladoAire ();
        ProductoCongeladoAire proConAi2 = new ProductoCongeladoAire ();
        ProductoCongeladoAgua proConAg1 = new ProductoCongeladoAgua ();
        ProductoCongeladoAgua proConAg2 = new ProductoCongeladoAgua ();
        ProductoCongeladoNitrogeno proConNit1 = new ProductoCongeladoNitrogeno ();
        System.out.println ("\f");
        System.out.println ("PRODUCTO FRESCO 1");
        proFres1.dameDatos();
        System.out.println ("");
        System.out.println ("PRODUCTO FRESCO 2");
        profres2.dameDatos();
        System.out.println ("");
        System.out.println ("PRODUCTO REFRIGERADO 1");
        proRef1.dameDatos();
        System.out.println ("");
        System.out.println ("PRODUCTO REFRIGERADO 2");
        proRef2.dameDatos();
        System.out.println ("");
        System.out.println ("PRODUCTO REFRIGERADO 3");
        proRef3.dameDatos();
        System.out.println ("");
        System.out.println ("PRODUCTO CONGELADO CON AIRE 1");
        proConAi1.dameDatos();
        System.out.println ("");
        System.out.println ("PRODUCTO CONGELADO CON AIRE 2");
        proConAi2.dameDatos();
        System.out.println ("");
        System.out.println ("PRODUCTO CONGELADO CON AGUA 1");
        proConAg1.dameDatos();
        System.out.println ("");
        System.out.println ("PRODUCTO CONGELADO CON AGUA 2");
        proConAg2.dameDatos();
        System.out.println ("");
        System.out.println ("PRODUCTO CONGELADO CON NITRÓGENO 1");
        proConNit1.dameDatos();
    }
}

Cuánto código! Esto se está poniendo divertido!!!

10
Hola comunidad. Aquí presento mi intento por resolver este ejercicio.

Citar
EJERCICIO

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.

Clase Producto
Código: [Seleccionar]
public class Producto {
    private String fechaCaducidad;
    private int numeroLote;
   
    public Producto () {
        fechaCaducidad = "";
        numeroLote = 0;
    }
   
    public Producto (String valorFechaCaducidad, int valorNumeroLote) {
        fechaCaducidad = valorFechaCaducidad;
        numeroLote = valorNumeroLote;
    }
   
    public void setFechaCaducidad (String valorFechaCaducidad){
        fechaCaducidad = valorFechaCaducidad;
    }
   
    public void setNumeroLote (int valorNumeroLote) {
        numeroLote = valorNumeroLote;
    }
   
    public String getFechaCaducidad () {
        return fechaCaducidad;
    }
   
    public int getNumeroLote () {
        return numeroLote;
    }
   
    public void dameDatosPro () {
        System.out.println ("Fecha de caducidad: " + getFechaCaducidad());
        System.out.println ("Número de lote: " + getNumeroLote());
    }
}


Clase ProductoFresco
Código: [Seleccionar]
public class ProductoFresco extends Producto  {
    private String fechaEnvasado;
    private String paisOrigen;
   
    public ProductoFresco () {
        super ();
        fechaEnvasado = "";
        paisOrigen = "";
    }
   
    public ProductoFresco (String valorFechaCaducidad, int valorNumeroLote, String valorFechaEnvasado, String valorPaisOrigen) {
        super (valorFechaCaducidad, valorNumeroLote);
        fechaEnvasado = valorFechaEnvasado;
        paisOrigen = valorPaisOrigen;
    }
       
    public void getFechaEnvasado (String valorFechaEnvasado) {
        fechaEnvasado = valorFechaEnvasado;
    }
   
    public void getPaisOrigen (String valorPaisOrigen) {
        paisOrigen = valorPaisOrigen;
    }
   
    public String getFechaEnvasado () {
        return fechaEnvasado;
    }
   
    public String getPaisOrigen () {
        return paisOrigen;
    }
   
    public void dameDatos() {
        dameDatosPro();
        System.out.println ("Fecha de envasado: " + getFechaEnvasado());
        System.out.println ("País de origen: " + getPaisOrigen());
    }
}


Clase ProductoRefrigerado
Código: [Seleccionar]
public class ProductoRefrigerado extends Producto  {
    private String codigoSupervAlim;
   
    public ProductoRefrigerado () {
        super ();
        codigoSupervAlim = "";
    }
   
    public ProductoRefrigerado (String valorFechaCaducidad, int valorNumeroLote, String valorCodigoSupervAlim) {
        super (valorFechaCaducidad, valorNumeroLote);
        codigoSupervAlim = valorCodigoSupervAlim;
    }
       
    public void getCodigoSupervAlim (String valorCodigoSupervAlim) {
        codigoSupervAlim = valorCodigoSupervAlim;
    }
   
    public String getCodigoSupervAlim () {
        return codigoSupervAlim;
    }
   
    public void dameDatos() {
        dameDatosPro();
        System.out.println ("Código del organismo de supervición alimentaria: " + getCodigoSupervAlim());
    }
}


Clase ProductoCongelado
Código: [Seleccionar]
public class ProductoCongelado extends Producto  {
    private double tempCongRecom;
   
    public ProductoCongelado () {
        super ();
        tempCongRecom = 0;
    }
   
    public ProductoCongelado (String valorFechaCaducidad, int valorNumeroLote, double valorTempCongRecom) {
        super (valorFechaCaducidad, valorNumeroLote);
        tempCongRecom = valorTempCongRecom;
    }
       
    public void getTempCongRecom (double valorTempCongRecom) {
        tempCongRecom = valorTempCongRecom;
    }
   
    public double getTempCongRecom () {
        return tempCongRecom;
    }
   
    public void dameDatos() {
        dameDatosPro();
        System.out.println ("Temperatura de congelación recomendada: " + getTempCongRecom());
    }
}


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

public class TestProducto {
    public static void main (String [] args) {
        System.out.println ("\f");
        ProductoFresco proFres = new ProductoFresco ();
        ProductoRefrigerado proRef = new ProductoRefrigerado ();
        ProductoCongelado proCon = new ProductoCongelado ();
        System.out.println ("Estos son los datos del producto fresco:");
        proFres.dameDatos();
        System.out.println ("");
        System.out.println ("Estos son los datos del producto refrigerado:");
        proRef.dameDatos();
        System.out.println ("");
        System.out.println ("Estos son los datos del producto congelado:");
        proCon.dameDatos();
    }
}

11

Citar
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 alguna información común como fecha de caducidad y número de lote, pero a su vez cada tipo de producto lleva alguna información específica, por ejemplo los productos congelados deben llevar la temperatura de congelación recomendada. Hay tres tipos de productos congelados: congelados por aire, congelados por agua y congelados por nitrógeno.

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. Identificar las 7 clases Java principales que podemos identificar dada la forma de funcionamiento de la empresa. Crear un esquema con las relaciones de herencia y/o uso entre las distintas clases.


Este es el esquema de herencia de clases que pude hacer para representar el ejercicio propuesto.


12
Buenas noches amigos. Aquí va mi ejercicio...

Citar
EJERCICIO

Declara una clase que represente el tipo enumerado que define tipos de piedra con los valores CALIZA, MARMOL, PIZARRA, CUARZITA. Si sus pesos específicos son de 1200, 1423.55, 1325 y 1466.22, crea un programa que muestre el peso de los palets de cada uno de los tipos de piedra. Puedes comprobar si tu código es correcto consultando en los foros aprenderaprogramar.com.

Clase enum TipoDePiedra
Código: [Seleccionar]
public enum TipoDePiedra
{
    CALIZA (1200), MARMOL (1423.55), PIZARRA (1325), CUARZITA (1466.22);
   
    private final double pesoEspecifico;
   
    TipoDePiedra (double valorPesoEspecifico) {
        pesoEspecifico = valorPesoEspecifico;
    }
   
    public double getPesoEspecifico () {
        return pesoEspecifico;
    }
   
}

Clase main TestTipoDePiedra
Código: [Seleccionar]
public class TestTipoDePiedra {
   
    public static void main (String [] args) {
       
        System.out.println ("El pallet admite un volumen de 2.27 m3, por lo que el peso de un pallet de cada tipo de piedra será el siguiente:");
        for (TipoDePiedra tmp: TipoDePiedra.values()) {
            System.out.println (tmp.toString() + ": el pallet pesa " + 2.27*tmp.getPesoEspecifico() + " kgs.");
        }
    }
}

13
Bueno, si que me han hecho estudiar con este pequeño ejercicio. Finalmente encontré la método valueOf() para poder pasar el valor del String ingresado via Scanner y transformarlo en un tipo enum.

Citar
Crea una clase Vehiculo donde definas un tipo enumerado MarcaDeVehiculo cuyos valores posibles serán FORD, TOYOTA, SUZUKI, RENAULT, SEAT. Establece como atributos de la clase matricula (tipo String) y marca (tipo MarcaDeVehiculo) y crea los métodos getters (para obtener) y setters (para establecer el valor) de los atributos. Escribe un pequeño programa de prueba donde verifiques que los métodos funcionan correctamente.

Es correcta la forma en que lo resolví o hay una manera más elegante?

Aquí mi respuesta:

Clase MarcaDeVehiculo
Código: [Seleccionar]
public enum MarcaDeVehiculo {FORD, TOYOTA, SUZUKI, RENAULT, SEAT};
Clase Vehiculo
Código: [Seleccionar]
public class Vehiculo {
    private String matricula;
    private MarcaDeVehiculo marca;
   
    public Vehiculo () {
        matricula = "";
        marca = null;
    }
   
    public Vehiculo (String valorMatricula, MarcaDeVehiculo valorMarca) {
        matricula = valorMatricula;
        marca = valorMarca;
    }
   
    public void setMatricula (String valorMatricula) {
        matricula = valorMatricula;
    }
   
    public void setMarca (MarcaDeVehiculo valorMarca) {
        marca = valorMarca;
    }
   
    public String getMatricula () {
        return matricula;
    }
   
    public MarcaDeVehiculo getMarca () {
        return marca;
    }
   
}



Clase TestVehiculo

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

public class TestVehiculo {
    public static void main (String [] args) {
        Vehiculo nuevoVehiculo = new Vehiculo ();
        System.out.println ("Ingrese la matrícula del vehículo... ");
        Scanner entrada = new Scanner (System.in);
        nuevoVehiculo.setMatricula(entrada.nextLine());
        System.out.println ("Escriba cúal de las siguientes marcas se corresponde a la del vehículo...");
        System.out.println ("FORD, TOYOTA, SUZUKI, RENAULT, SEAT");
        Scanner entrada2 = new Scanner (System.in);
        String marcaIngresada = entrada2.nextLine();
        MarcaDeVehiculo esteAuto = MarcaDeVehiculo.valueOf(marcaIngresada);
        nuevoVehiculo.setMarca (esteAuto);
        System.out.println ("La matrícula es: " + nuevoVehiculo.getMatricula());
        System.out.println ("La marca del vehículo es: " + nuevoVehiculo.getMarca());
    }
}

14
Muy bueno poder ver como se acomoda sola toda la información que ingresamos. Muy interesante lección. Este es mi intento de presentarlo

Código: [Seleccionar]
/**
 * Esta clase realiza dos operaciones matemáticas (calculo de valor absoluto y de raíz cuadrada) sobre un valo double ingresado.
 * @author: Federico Garay
 * @version: 1.0
 * @since: 10/01/2015
 */

public class MiniCalculadoraEjemplo {
   
    /**
     * Constructor de la clase. No declara campos
     * @param ninguno
     */
    public MiniCalculadoraEjemplo (){
    }//Cierre del constructor
   
    /**
     * Método que devuelve el valor absoluto del número ingresado
     * @param m es un valor que será solemtido al cálculo
     * @return valor absoluto del double m
     */
    public double dimeValorAbsoluto (double m) {
        return Math.abs (m);
    }//Cierre del método
   
    /**
     * Método que devuelve la raíz cuadrada del número ingresado
     * @param n es un valor que será solemtido al cálculo
     * @return devuelve la raíz cuadrada del double n
     */
    public double dimeRaizCuadrada (double n) {
        return Math.sqrt (n);
    }//Cierre del método
}//Cierre de la clase

15
Veamos si lo he hecho bien...

Citar
EJERCICIO

Declara un array que contenga seis booleanos que sean true, true, false, false, true, false. A continuación, crea una lista de tipo LinkedList a partir de dicho array usando la clase Arrays del api de Java. Puedes comprobar si tu código es correcto consultando en los foros aprenderaprogramar.com.

Código: [Seleccionar]
import java.util.LinkedList;
import java.util.List;
import java.util.Arrays;

public class ArrayBooleano {
    public static void main (String [] args) {
        List <Boolean> miOtraListaBooleana = new LinkedList<Boolean>();
        Boolean [] miListaBooleana = {true, true, false, false, true, false};
        miOtraListaBooleana = Arrays.asList(miListaBooleana);
        System.out.println ("El contenido de mi LinkedList es " + miOtraListaBooleana);
    }
}

16
Citar
La interface Set de Java es implementada por las clases HashSet y TreeSet. Busca información sobre estas clases en la documentación del api Java. Crea un programa Java que haga lo siguiente:

a) Declarar un ArrayList de objetos de tipo Set.
b) Crear un objeto de tipo HashSet para contener Strings y haz que contenga las cadenas “sol”, “luna”, “saturno”.
c) Crear un objeto TreeSet para contener Integers y haz que contenga los números 2, 8, 5.
d) Añade los objetos HashSet y TreeSet como elementos del ArrayList.
e) Usa iteradores para recorrer los elementos del ArrayList y recorrer el contenido de cada uno de los elementos y mostrar este contenido por pantalla. Por pantalla deberás obtener “sol”, “luna”, “saturno”, 8, 5, 2.

Aquí va mi resolución del ejercicio. Que tengan todos un buen día!

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

public class TrabajarConSet {
   
    public static void main (String [] args) {
        System.out.println ("\f");
        ArrayList<Set> miListaDeSets = new ArrayList<Set>();
        HashSet<String> miListaDeStrings = new HashSet<String>();
        miListaDeStrings.add("sol");
        miListaDeStrings.add("luna");
        miListaDeStrings.add("saturno");
        TreeSet<Integer> miListaDeIntegers = new TreeSet<Integer>();
        miListaDeIntegers.add(2);
        miListaDeIntegers.add(8);
        miListaDeIntegers.add(5);
        miListaDeSets.add(miListaDeStrings);
        miListaDeSets.add(miListaDeIntegers);
        Iterator<Set> it = miListaDeSets.iterator();
        while (it.hasNext()) {
            System.out.println (it.next());
        }
    }
}

17
INTERFACE ITERABLE:

Preguntas:

Citar
¿Qué clases de las que conoces implementan esta interface?

De las clases que implementan la interfaz Iterable, yo personalmente conozco: ArrayList, LinkedList y Stack.

Citar
¿Qué método han de tener disponible las clases que implementan esta interface?

iterator()

Citar
¿Para qué sirve este método?

Devuelve una iteración de los elementos del tipo especificado.

18
Bueno, seguimos avanzando. Esta es mi resolución del elercicio.

Clase Circulo
Código: [Seleccionar]
public class Circulo {
    private static final double PI = 3.1416;
    private double radio;
   
    public Circulo () {
        radio = 0;
    }
   
    public Circulo (double valorRadio) {
        radio = valorRadio;
    }
   
    public void setRadio (double valorRadio) {
        radio = valorRadio;
    }
   
    public double getRadio () {
        return radio;
    }
   
    public double calcularArea () {
        return (PI) * (radio * radio);
    }
   
    public double calcularLongitud () {
        return 2 * PI * radio;
    }
}


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

public class TestCirculo {
   
    public static void main (String [] args) {
        System.out.println ("\f");
        System.out.println ("Bienvenido al programa CIRCULO");
        System.out.println ("Por favor, ingrese (en números) el radio de un círculo...");
        Scanner entrada = new Scanner (System.in);
        Integer radioIngresado = entrada.nextInt();
        Circulo nuevoCirculo = new Circulo ();
        nuevoCirculo.setRadio(radioIngresado);
        System.out.println ("");       
        System.out.println ("Muchas gracias");
        System.out.println ("El área del círculo, es " + nuevoCirculo.calcularArea());
        System.out.println ("La longitud del círculo es " + nuevoCirculo.calcularLongitud());
        System.out.println ("Fin del programa");
    }
}

19
Hola otra vez. Me he propuesto agregarle una dificultad más al ejercicio, haciendo que el usuario del juego solo tenga 10 oportunidades de acertar. Si no lo hace en ese tiempo, ha perdido. Además al terminar (perdiendo o ganando) el programa le propone volver a comenzar, sin tener que salir y volver a entrar.

Código: [Seleccionar]
import java.util.Scanner;
import java.util.Random;
public class RandomInteger {

    public static void main(String [] Args) {
        String j = "1";
        while (j.equals("1")) {

            System.out.println ("\f");
            System.out.println ("Adivina el número del 1 al 100 que hemos pensado");

            Random randomGenerator = new Random();
            int randomInt = randomGenerator.nextInt(100);
            int i = 0;
            while (i < 10) {
                System.out.println("Intenta adivinar, te quedan " + (10-i) + " intentos");
                Scanner entrada = new Scanner (System.in);
                int primerIntento = entrada.nextInt();
                if (primerIntento == randomInt) {
                    System.out.println ("Acertaste");
                    break;
                } else if (primerIntento < randomInt) {
                    System.out.println ("No. El número a adivinar es mayor que ese");
                } else {
                    System.out.println ("No. El numero a adivinar es menor que ese");
                }
                i++;
            }
            if ((10-i) == 0) {
                System.out.println ("Se acabaron tus opciones");
            } else {
            }
            System.out.println ("Ha terminado el juego");
            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");

        }
    }
}

20
Hola, tengo una pregunta. He finalizado el ejercicio de la lección CU00670B, pero tuve un problema. Si lo resolvía con la sintaxis que ofrece la lección, me arrojaba el error
Citar
Cannot find symbol - variable entradaConvertida

a causa de esta línea de código...

Código: [Seleccionar]
entradaUsuario = entradaUsuario.valueOf (entradaConvertida);
Intenté resolver este problema declarando (entes de la entrada del usuario) la variable de la siguiente manera
Citar
int entradaConvertida = 0;

pero al hacer esto, a pesar de que no arroja más el error, la resolución del problema es siempre "0". Por supuesto que me doy cuenta el por qué de este resultado, pero no logro ver cómo declarar la variable sin inicializarla con un valor que afectará el resultado. Investigando en la red descubrí que podía realizar la conversión de la siguiente manera

Código: [Seleccionar]
int entradaConvertida = Integer.valueOf (entradaUsuario);
y ahí sí todo salió bien, pero me preocupa no haberlo podido lograr con la sintaxis que propone la lección... ¿me he perdido de algo?

Esta es la resolución completa como me quedó...

Código: [Seleccionar]
import javax.swing.JOptionPane;
public class ejemplo1 {
    public static void main (String[] Args) {
        String entradaUsuario = JOptionPane.showInputDialog ( "Introduzca un número:" );
        int entradaConvertida = Integer.valueOf (entradaUsuario);
        System.out.println ("El doble del número introducido es: " + 2* entradaConvertida); 
    }
}

Páginas: [1] 2

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