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

Páginas: [1]
1
Buenos días. Dejo una posible solución al ejercicio planteado CU00697B del tutorial pdf de programación Java como si estuviera en primero de aprenderaprogramar.

Ahora la codificación.

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


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


Código: [Seleccionar]
public class Polideportivo implements Edificio, InstalacionDeportiva
{
    private String nombre;
    private int tipoInstalacion;
    private double superficie;

    public Polideportivo(String nombre, int tipoInstalacion, double superficie){
        this.nombre=nombre;
        this.tipoInstalacion=tipoInstalacion;
        this.superficie=superficie;
    }

    public String toString(){
        return "Tipo de edificio Instalacion deportiva\n"+"Instalación de tipo : "+tipoInstalacion;
    }

    public int  getTipoDeInstalacion(){
        return tipoInstalacion;
    }
   
    public double getSuperficieEdificio(){
        return superficie;
}
}


Código: [Seleccionar]
public class EdificioOficinas implements Edificio
{
   private double superficie;
   private int numeroOficinas;
   
   public EdificioOficinas(int numeroOficinas,double superficie){
       this.superficie=superficie;
       this.numeroOficinas=numeroOficinas;
    }
   
   public double getSuperficieEdificio(){
       return superficie;
    }
   
   public String toString(){
        return "Tipo de edificio Edificio de oficinas\n"+"Numero de oficinas : "+numeroOficinas;
    }
}


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

public class Test
{

    public static void main(String Arg[]){
        ArrayList<Edificio> listaEdificios = new ArrayList<Edificio>();
        listaEdificios.add(new Polideportivo("P.M. El Quirinal",0,10000));
        listaEdificios.add(new Polideportivo("P.M. La Magdalena",1,12000));
        listaEdificios.add(new Polideportivo("P.M. Jardín de cantos",2,7000));
        listaEdificios.add(new EdificioOficinas(3,600));
        listaEdificios.add(new EdificioOficinas(6,1200));
        listaEdificios.add(new EdificioOficinas(9,1800));

        Iterator<Edificio> edificio=listaEdificios.iterator();
        Edificio tempEdificio;
        while(edificio.hasNext()){
            tempEdificio = edificio.next();
            System.out.println(tempEdificio.toString());
            System.out.println("La superficie del edificio es de : "+tempEdificio.getSuperficieEdificio()+"\n");
        }
    }
}

Un saludo.

2
Buenos días.

Esta podría se una solución para el ejercicio propuesto.

Código: [Seleccionar]
public class Persona{
    private String dni;
    private String nombre;
    private int edad;
   
    public Persona(){
        dni="";
        nombre="";
        edad=0;
    }
   
    public Persona(String dni,String nombre,int edad){
        this.dni=dni;
        this.nombre=nombre;
        this.edad=edad;
    }
   
    public String toString(){
        return "Dni : "+dni+"\nNombre : "+nombre+"\nEdad : "+edad;
    }
}


Código: [Seleccionar]
public abstract class Legislador extends Persona{
    private String provinciaQueRepresenta;
   
    public Legislador(){
        super();
        provinciaQueRepresenta="";
    }
   
    public Legislador(String dni,String nombre,int edad,String provinciaQueRepresenta){
        super(dni,nombre,edad);
        this.provinciaQueRepresenta=provinciaQueRepresenta;
    }
   
    public String toString(){
        return super.toString()+"\nProvincia a la que representa : "+provinciaQueRepresenta;
    }
   
    abstract public String getCamaraEnQueTrabaja();
   
   
}


Código: [Seleccionar]
public class Senador extends Legislador{
   
    public Senador(){
        super();
    }
   
    public Senador(String dni,String nombre,int edad,String provinciaQueRepresenta){
        super(dni,nombre,edad,provinciaQueRepresenta);
    }
   
    public String toString(){
       return super.toString();
    }
   
    public String getCamaraEnQueTrabaja(){
        return "Senado";
    }
}


Código: [Seleccionar]
public class Diputado extends Legislador{
   
    public Diputado(){
        super();
    }
   
    public Diputado(String dni,String nombre,int edad,String provinciaQueRepresenta){
        super(dni,nombre,edad,provinciaQueRepresenta);
    }
   
    public String toString(){
       return super.toString();
    }
   
    public String getCamaraEnQueTrabaja(){
        return "Congreso";
    }
}


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

public class Test{
   
    public static void main(String Arg[]){
       
        ArrayList<Legislador> listaLegisladores = new ArrayList<Legislador>();
       
        listaLegisladores.add(new Diputado("11.111.111A", "Juan Bartolo Perdiguero",42,"A Coruña"));
        listaLegisladores.add(new Senador("11.111.111B", "Victoria González",45,"Cantabria"));
        listaLegisladores.add(new Diputado("22.222.222A", "Aitor Arritamendia",43,"Bizcaia"));
        listaLegisladores.add(new Senador("22.222.222B", "Paula Bartomeu",45,"Barcelona"));
        listaLegisladores.add(new Diputado("33.333.333A", "Ovido López",47,"León"));
        listaLegisladores.add(new Senador("33.333.333B", "Sabina Ramírez",45,"Valladolid"));
        listaLegisladores.add(new Diputado("44.444.444A", "Secundino Flores",48,"Zamora"));
        listaLegisladores.add(new Senador("44.444.444B", "Ana Isabel Tocino",40,"Soria"));
       
        System.out.println("Listado de legisladores\n");
        for(Legislador legislador:listaLegisladores){
            System.out.println("Representante en el : "+legislador.getCamaraEnQueTrabaja());
            System.out.println(legislador.toString()+"\n");     
        }
        System.out.println("Fin del listado de legisladores\n");
    }
}

Un saludo.

3
Buenos días.
Lo siento he cometido un error al subir la imagen del diagrama de clase. Realmente el que utilizo es el que pongo a continuación.



Un saludo

4
Muchas gracias por tu respuesta César.
Lo del método main, error imperdonable!. Me dispongo a subirlo.

Código: [Seleccionar]
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Calendar;

public class TestHerencia3
{
    public static void main(String Arg[]){
        ArrayList<Producto> listaProductos= new ArrayList<Producto>();
        Calendar fechaEnvasado = Calendar.getInstance();
        Calendar fechaCaducidad = Calendar.getInstance();

        // Dos productos frescos
        fechaEnvasado.set(2001,0,1);fechaCaducidad.set(2011,0,1);
        listaProductos.add(new ProductoFresco("01-1",fechaEnvasado,fechaCaducidad,"Argentina"));
        fechaEnvasado.set(2002,0,1);fechaCaducidad.set(2012,0,1);
        listaProductos.add(new ProductoFresco("01-2",fechaEnvasado,fechaCaducidad,"Rumanía"));

        // Tres productos refrigerados
        fechaEnvasado.set(2001,1,2);fechaCaducidad.set(2021,1,2);
        listaProductos.add(new ProductoRefrigerado("02-1",fechaEnvasado,fechaCaducidad,"Holanda",3.00,"CODIGO-002"));
        fechaEnvasado.set(2002,1,2);fechaCaducidad.set(2022,1,2);
        listaProductos.add(new ProductoRefrigerado("02-2",fechaEnvasado,fechaCaducidad,"Suiza",2.00,"CODIGO-022"));
        fechaEnvasado.set(2003,1,2);fechaCaducidad.set(2023,1,2);
        listaProductos.add(new ProductoRefrigerado("02-3",fechaEnvasado,fechaCaducidad,"Holanda",4.00,"CODIGO-222"));

        // Dos productos congelados por aire
        fechaEnvasado.set(2003,2,3);fechaCaducidad.set(2033,2,3);
        listaProductos.add(new ProductoCongeladoAire("03",fechaEnvasado,fechaCaducidad,"España",-3.50,8,2,3,87));
        fechaEnvasado.set(2004,2,3);fechaCaducidad.set(2034,2,3);
        listaProductos.add(new ProductoCongeladoAire("03",fechaEnvasado,fechaCaducidad,"Cuba",-6.50,10,3,4,83));

        //Dos productos congelados por agua
        fechaEnvasado.set(2004,3,4);fechaCaducidad.set(2044,3,4);
        listaProductos.add(new ProductoCongeladoAgua("04",fechaEnvasado,fechaCaducidad,"Francia",-9,16));
        fechaEnvasado.set(2005,3,4);fechaCaducidad.set(2045,3,4);
        listaProductos.add(new ProductoCongeladoAgua("04",fechaEnvasado,fechaCaducidad,"Venezuela",-11,20));
       
        // Un producto congelados por nitrógeno
        fechaEnvasado.set(2005,4,5);fechaCaducidad.set(2055,4,5);
        listaProductos.add(new ProductoCongeladoNitrogeno("05",fechaEnvasado,fechaCaducidad,"España",-18.50,
                "Congelado pero que mu frío",4));

        System.out.println("Lista de Productos\n");
        Iterator<Producto> otroProducto=listaProductos.iterator();
        while(otroProducto.hasNext()){
            otroProducto.next().mostrarProducto();
        }
        System.out.println("Fin lista");
    }
}

Un saludo

5
Hola buenos días.

Os dejo aquí mi solución al ejercicio propuesto.

Utilizo este diagrama de clases.


Ahora la codificación.
Código: [Seleccionar]
import java.util.Calendar;
import java.text.SimpleDateFormat;
import java.util.Locale;

public class Producto
{
   
    private static Locale currentLocale = new Locale("es","ES");
    private String lote;
    private Calendar fechaEnvasado;
    private Calendar fechaCaducidad;
    private String paisOrigen;
 

    public Producto(){
        lote="";
        fechaCaducidad=null;
        fechaEnvasado=null;
        paisOrigen="";
    }

    public Producto(String lote,Calendar fechaEnvasado,Calendar fechaCaducidad,String paisOrigen){
        this.lote=lote;
        this.fechaEnvasado=Calendar.getInstance(currentLocale);
        this.fechaEnvasado.setTime(fechaEnvasado.getTime());
        this.fechaCaducidad=Calendar.getInstance(currentLocale);
        this.fechaCaducidad.setTime(fechaCaducidad.getTime());
        this.paisOrigen=paisOrigen;
    }

    public void setLote(String lote){
        this.lote=lote;
    }

    public void setFechaEnvasado(Calendar fechaEnvasado){
        this.fechaEnvasado=fechaEnvasado;
    }
   
    public void setFechaCaducidad(Calendar fechaCaducidad){
        this.fechaCaducidad=fechaCaducidad;
    }

    public void setPaisOrigen(String paisOrigen){
        this.paisOrigen=paisOrigen;
    }
   
    public String getLote(){
        return lote;
    }

    public Calendar getFechaEnvasado(){
       return fechaEnvasado;
    }
   
    public Calendar getFechaCaducidad(){
        return fechaCaducidad;
    }

    public String getPaisOrigen(){
        return paisOrigen;
    }
   
    public void mostrarProducto(){
        SimpleDateFormat formatoFecha = new SimpleDateFormat("dd/MMM/yyyy",currentLocale);
        System.out.println("Lote : "+lote);
        System.out.println("Fecha de envasado : "+formatoFecha.format(fechaEnvasado.getTime()));
        System.out.println("Fecha de caducidad : "+formatoFecha.format(fechaCaducidad.getTime()));
        System.out.println("País de origen : "+paisOrigen);
    }
}
Código: [Seleccionar]
public class ProductoFresco extends Producto
{

    public ProductoFresco(){
        super();
    }

    public ProductoFresco(String numeroLote, Calendar fechaEnvasado, Calendar fechaCaducidad, String paisOrigen){
        super(numeroLote,fechaEnvasado,fechaCaducidad,paisOrigen);
    }

    public void mostrarProducto(){
        System.out.println("--- Producto Fresco ---");
        super.mostrarProducto();
        System.out.println("");
    }
}
Código: [Seleccionar]
import java.util.Calendar;

public class ProductoNoFresco extends Producto
{
    private double temperaturaMantenimientoRecomendada;

    public ProductoNoFresco(){
        super();
        temperaturaMantenimientoRecomendada=0;   
    }

    public ProductoNoFresco(String lote, Calendar fechaEnvasado, Calendar fechaCaducidad, String paisOrigen, double temperaturaMantenimientoRecomendada){
        super(lote,fechaEnvasado,fechaCaducidad,paisOrigen);
        this.temperaturaMantenimientoRecomendada=temperaturaMantenimientoRecomendada;
    }

    public void setTemperaturaMantenimientoRecomendada(double temperaturaMantenimientoRecomendada){
        this.temperaturaMantenimientoRecomendada=temperaturaMantenimientoRecomendada;
    }

    public double getTemperaturaMantenimientoRecomendada(){
        return temperaturaMantenimientoRecomendada;
    }
   
    public void mostrarProducto(){
        super.mostrarProducto();
        System.out.println("La temperatura de mantenimiento recomendada es de : "+temperaturaMantenimientoRecomendada+"ºC");
    }
}
Código: [Seleccionar]
import java.util.Calendar;

public class ProductoRefrigerado extends ProductoNoFresco
{
    private String codigoOrgSupAlim;

    public ProductoRefrigerado(){
        super();
        codigoOrgSupAlim="";   
    }

    public ProductoRefrigerado(String lote, Calendar fechaEnvasado, Calendar fechaCaducidad, String paisOrigen, double temperaturaMantenimientoRecomendada, String codigoOrgSupAlim){
        super(lote,fechaEnvasado,fechaCaducidad,paisOrigen,temperaturaMantenimientoRecomendada);
        this.codigoOrgSupAlim=codigoOrgSupAlim;
    }

    public void setCodigoOrgSupAlim(String codigoOrgSupAlim){
        this.codigoOrgSupAlim=codigoOrgSupAlim;
    }
   
    public String getCodigoOrgSupAlim(){
        return codigoOrgSupAlim;
    }

    public void mostrarProducto(){
        System.out.println("--- Producto Refrigerado ---");
        super.mostrarProducto();
        System.out.println("Codigo del Organismo de Supervisión Alimentaria : "+codigoOrgSupAlim+"\n");
    }
}
Código: [Seleccionar]
import java.util.Calendar;

public class ProductoCongeladoAire extends ProductoNoFresco
{
    private double nitrogeno;
    private double oxigeno;
    private double dioxidoCarbono;
    private double vaporAgua;

    public ProductoCongeladoAire()
    {
        super();
        nitrogeno=0;
        oxigeno=0;
        dioxidoCarbono=0;
        vaporAgua=0;
    }

    public ProductoCongeladoAire(String lote,Calendar fechaEnvasado,Calendar fechaCaducidad,String paisOrigen,
    double temperaturaMantenimientoRecomendada,double nitrogeno,double oxigeno,double dioxidoCarbono,double vaporAgua){
        super(lote,fechaEnvasado,fechaCaducidad,paisOrigen,temperaturaMantenimientoRecomendada);
        this.nitrogeno=nitrogeno;
        this.oxigeno=oxigeno;
        this.dioxidoCarbono=dioxidoCarbono;
        this.vaporAgua=vaporAgua;
    }

    public void setNitrogeno(double nitrogeno){
        this.nitrogeno =nitrogeno;
    }

     public void setOxigeno(double oxigeno){
        this.oxigeno =oxigeno;
    }
   
     public void setDioxidoCarbono(double dioxidoCarbono){
        this.dioxidoCarbono =dioxidoCarbono;
    }
   
     public void setVaporAgua(double vaporAgua){
        this.vaporAgua =vaporAgua;
    }
   
   
   
    public double getNitrogeno(){
        return nitrogeno;
    }

    public double getOxigeno(){
        return oxigeno;
    }
   
    public double getDioxidoCarbono(){
        return dioxidoCarbono;
    }
   
    public double geVaporAgua(){
        return vaporAgua;
    }
   
    public void mostrarProducto(){
        System.out.println("--- Producto Congelado por Aire---");
        super.mostrarProducto();
        System.out.println("Porcentaje de Nitrogeno : "+nitrogeno+"%");
        System.out.println("Porcentaje de Oxigeno : "+oxigeno+"%");
        System.out.println("Porcentaje de Dioxiodo de Carbono : "+dioxidoCarbono+"%");
        System.out.println("Porcentaje de Vapor de Agua : "+vaporAgua+"%\n");
    }
}
Código: [Seleccionar]
import java.util.Calendar;

public class ProductoCongeladoAgua extends ProductoNoFresco{

    private double salinidadAgua;

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

    public ProductoCongeladoAgua(String lote, Calendar fechaEnvasado, Calendar fechaCaducidad, String paisOrigen,
    double temperaturaMantenimientoRecomendada,double salinidadAgua){
        super(lote,fechaEnvasado,fechaCaducidad,paisOrigen,temperaturaMantenimientoRecomendada);
        this.salinidadAgua=salinidadAgua;
    }

    public void setSalinidadAgua(double salinidadAgua){
        this.salinidadAgua=salinidadAgua;
    }

    public double getSalinidadAgua(){
        return salinidadAgua;
    }

    public void mostrarProducto(){
        System.out.println("--- Producto Congelado por Agua ---");
        super.mostrarProducto();
        System.out.println("Salinidad del agua : "+salinidadAgua+"grNa/l\n");
    }
}
Código: [Seleccionar]
import java.util.Calendar;

public class ProductoCongeladoNitrogeno extends ProductoNoFresco
{
    private String metodoCongelacion;
    private int tiempoExposicion;

    public ProductoCongeladoNitrogeno(){
        super();
        metodoCongelacion="";
        tiempoExposicion=0;

    }

    public ProductoCongeladoNitrogeno(String lote,Calendar fechaEnvasado,Calendar fechaCaducidad,String paisOrigen,
    double temperaturaMantenimientoRecomendada,String metodoCongelacion,int tiempoExposicion){
        super(lote,fechaEnvasado,fechaCaducidad,paisOrigen,temperaturaMantenimientoRecomendada);
        this.metodoCongelacion=metodoCongelacion;
        this.tiempoExposicion=tiempoExposicion;
    }
   
    public void setMetodoCongelacion(String metodoCongelacion){
        this.metodoCongelacion=metodoCongelacion;
    }
   
    public void setTiempoExposicion(int tiempoExposicion){
        this.tiempoExposicion=tiempoExposicion;
    }
   
    public String getMetodoCongelacion(){
        return metodoCongelacion;
    }
   
    public int getTiempoExposicion(){
        return tiempoExposicion;
    }
   
    public void mostrarProducto(){
        System.out.println("--- Producto Congelado por Nitrógeno ---");
        super.mostrarProducto();
        System.out.println("Método de congelación utilizado : "+metodoCongelacion);
        System.out.println("Tiempo de exposición : "+tiempoExposicion+"s\n");
    }
}
Código: [Seleccionar]
import java.util.Calendar;
import java.util.ArrayList;
import java.util.Iterator;
import java.text.SimpleDateFormat;

public class EnvioDeProductos
{
    Calendar fechaEnvio;
    String clienteEnvio;
    String direccionEnvio;
    ArrayList<Producto> listaProductosEnvio;

    public EnvioDeProductos(){
        fechaEnvio=Calendar.getInstance();
        clienteEnvio="";
        direccionEnvio="";
        listaProductosEnvio=new ArrayList<Producto>();
    }

    public void setFechaEnvio(Calendar fechaEnvio){
        this.fechaEnvio=fechaEnvio;
    }

    public void setClienteEnvio(String clienteEnvio){
        this.clienteEnvio=clienteEnvio;
    }

    public void setDireccionEnvio(String direccionEnvio){
        this.direccionEnvio=direccionEnvio;
    }

    public void setListaProductosEnvio(ArrayList<Producto> listaProductosEnvio){
        this.listaProductosEnvio=listaProductosEnvio;
    }

    public Calendar getFechaEnvio(){
        return fechaEnvio;
    }

    public String getClienteEnvio(){
        return clienteEnvio;
    }

    public String direccionEnvio(){
        return direccionEnvio;
    }

    public ArrayList<Producto> getListaProductosEnvio(){
        return listaProductosEnvio;
    }

    public void mostrarEnvio(){
        if(!listaProductosEnvio.isEmpty()){// Si el pedido tiene productos

            SimpleDateFormat formatoFecha = new SimpleDateFormat("dd/MMM/yyyy");

            System.out.println("Datos del pedido\n");
            System.out.println("Fecha : "+formatoFecha.format(fechaEnvio.getTime()));
            System.out.println("Cliente : "+clienteEnvio);
            System.out.println("Dirección : "+direccionEnvio+"\n");
           
            System.out.println("Lista de productos\n");
            Iterator<Producto> producto=listaProductosEnvio.iterator();
            while(producto.hasNext()){
                producto.next().mostrarProducto();
            }
            System.out.println("Fin de la lista");
        }else{
            System.out.println("Pedido sin productos");
        }
    }
}
Código: [Seleccionar]
import java.util.Calendar;
import java.util.Date;

public class TestHerencia3
{
    public static void main(String Arg[]){

        EnvioDeProductos envioProducto = new EnvioDeProductos();
        Calendar fechaEnvio = Calendar.getInstance();
        Calendar fechaEnvasado = Calendar.getInstance();
        Calendar fechaCaducidad = Calendar.getInstance();
       
        Date fechaActual=new Date();
        fechaActual.getTime();
        fechaEnvio.setTime(fechaActual);
        envioProducto.setFechaEnvio(fechaEnvio);
       
        envioProducto.setClienteEnvio("Frutas Marisa");
        envioProducto.setDireccionEnvio("Cursal Kalea,2 Barakaldo");
       
        // Dos productos frescos
        fechaEnvasado.set(2001,0,1);fechaCaducidad.set(2011,0,1);
        envioProducto.getListaProductosEnvio().add(new ProductoFresco("01-1",fechaEnvasado,fechaCaducidad,"Argentina"));
        fechaEnvasado.set(2002,0,1);fechaCaducidad.set(2012,0,1);
        envioProducto.getListaProductosEnvio().add(new ProductoFresco("01-2",fechaEnvasado,fechaCaducidad,"Rumanía"));

        // Tres productos refrigerados
        fechaEnvasado.set(2001,1,2);fechaCaducidad.set(2021,1,2);
        envioProducto.getListaProductosEnvio().add(new ProductoRefrigerado("02-1",fechaEnvasado,fechaCaducidad,"Holanda",3.00,"CODIGO-002"));
        fechaEnvasado.set(2002,1,2);fechaCaducidad.set(2022,1,2);
        envioProducto.getListaProductosEnvio().add(new ProductoRefrigerado("02-2",fechaEnvasado,fechaCaducidad,"Suiza",2.00,"CODIGO-022"));
        fechaEnvasado.set(2003,1,2);fechaCaducidad.set(2023,1,2);
        envioProducto.getListaProductosEnvio().add(new ProductoRefrigerado("02-3",fechaEnvasado,fechaCaducidad,"Holanda",4.00,"CODIGO-222"));

        // Dos productos congelados por aire
        fechaEnvasado.set(2003,2,3);fechaCaducidad.set(2033,2,3);
        envioProducto.getListaProductosEnvio().add(new ProductoCongeladoAire("03",fechaEnvasado,fechaCaducidad,"España",-3.50,8,2,3,87));
        fechaEnvasado.set(2004,2,3);fechaCaducidad.set(2034,2,3);
        envioProducto.getListaProductosEnvio().add(new ProductoCongeladoAire("03",fechaEnvasado,fechaCaducidad,"Cuba",-6.50,10,3,4,83));

        //Dos productos congelados por agua
        fechaEnvasado.set(2004,3,4);fechaCaducidad.set(2044,3,4);
        envioProducto.getListaProductosEnvio().add(new ProductoCongeladoAgua("04",fechaEnvasado,fechaCaducidad,"Francia",-9,16));
        fechaEnvasado.set(2005,3,4);fechaCaducidad.set(2045,3,4);
        envioProducto.getListaProductosEnvio().add(new ProductoCongeladoAgua("04",fechaEnvasado,fechaCaducidad,"Venezuela",-11,20));

        // Un producto congelados por nitrógeno
        fechaEnvasado.set(2005,4,5);fechaCaducidad.set(2055,4,5);
        envioProducto.getListaProductosEnvio().add(new ProductoCongeladoNitrogeno("05",fechaEnvasado,fechaCaducidad,"España",-18.50,
                "Congelado pero que mu frío",4));
               
        envioProducto.mostrarEnvio();
        }
    }

Un saludo.

6
Bunas tardes. Esta podría ser una solución al ejercicio propueto.

Este sería el diagrama de clases a utilizar.



Ahora la codificación.

Código: [Seleccionar]
import java.util.Calendar;
import java.text.SimpleDateFormat;
import java.util.Locale;

public class Producto
{
   
    private static Locale currentLocale = new Locale("es","ES");
    private String lote;
    private Calendar fechaEnvasado;
    private Calendar fechaCaducidad;
    private String paisOrigen;
 

    public Producto(){
        lote="";
        fechaCaducidad=null;
        fechaEnvasado=null;
        paisOrigen="";
    }

    public Producto(String lote,Calendar fechaEnvasado,Calendar fechaCaducidad,String paisOrigen){
        this.lote=lote;
        this.fechaEnvasado=Calendar.getInstance(currentLocale);
        this.fechaEnvasado.setTime(fechaEnvasado.getTime());
        this.fechaCaducidad=Calendar.getInstance(currentLocale);
        this.fechaCaducidad.setTime(fechaCaducidad.getTime());
        this.paisOrigen=paisOrigen;
    }

    public void setLote(String lote){
        this.lote=lote;
    }

    public void setFechaEnvasado(Calendar fechaEnvasado){
        this.fechaEnvasado=fechaEnvasado;
    }
   
    public void setFechaCaducidad(Calendar fechaCaducidad){
        this.fechaCaducidad=fechaCaducidad;
    }

    public void setPaisOrigen(String paisOrigen){
        this.paisOrigen=paisOrigen;
    }
   
    public String getLote(){
        return lote;
    }

    public Calendar getFechaEnvasado(){
       return fechaEnvasado;
    }
   
    public Calendar getFechaCaducidad(){
        return fechaCaducidad;
    }

    public String getPaisOrigen(){
        return paisOrigen;
    }
   
    public void mostrarProducto(){
        SimpleDateFormat formatoFecha = new SimpleDateFormat("dd/MMM/yyyy",currentLocale);
        System.out.println("Lote : "+lote);
        System.out.println("Fecha de envasado : "+formatoFecha.format(fechaEnvasado.getTime()));
        System.out.println("Fecha de caducidad : "+formatoFecha.format(fechaCaducidad.getTime()));
        System.out.println("País de origen : "+paisOrigen);
    }
}
Código: [Seleccionar]
import java.util.Calendar;

public class ProductoFresco extends Producto
{

    public ProductoFresco(){
        super();
    }

    public ProductoFresco(String numeroLote, Calendar fechaEnvasado, Calendar fechaCaducidad, String paisOrigen){
        super(numeroLote,fechaEnvasado,fechaCaducidad,paisOrigen);
    }

    public void mostrarProducto(){
        System.out.println("--- Producto Fresco ---");
        super.mostrarProducto();
        System.out.println("");
    }
}
Código: [Seleccionar]
import java.util.Calendar;

public class ProductoNoFresco extends Producto
{
    private double temperaturaMantenimientoRecomendada;

    public ProductoNoFresco(){
        super();
        temperaturaMantenimientoRecomendada=0;   
    }

    public ProductoNoFresco(String lote, Calendar fechaEnvasado, Calendar fechaCaducidad, String paisOrigen, double temperaturaMantenimientoRecomendada){
        super(lote,fechaEnvasado,fechaCaducidad,paisOrigen);
        this.temperaturaMantenimientoRecomendada=temperaturaMantenimientoRecomendada;
    }

    public void setTemperaturaMantenimientoRecomendada(double temperaturaMantenimientoRecomendada){
        this.temperaturaMantenimientoRecomendada=temperaturaMantenimientoRecomendada;
    }

    public double getTemperaturaMantenimientoRecomendada(){
        return temperaturaMantenimientoRecomendada;
    }
   
    public void mostrarProducto(){
        super.mostrarProducto();
        System.out.println("La temperatura de mantenimiento recomendada es de : "+temperaturaMantenimientoRecomendada+"ºC");
    }
}
Código: [Seleccionar]
import java.util.Calendar;

public class ProductoRefrigerado extends ProductoNoFresco
{
    private String codigoOrgSupAlim;

    public ProductoRefrigerado(){
        super();
        codigoOrgSupAlim="";   
    }

    public ProductoRefrigerado(String lote, Calendar fechaEnvasado, Calendar fechaCaducidad, String paisOrigen, double temperaturaMantenimientoRecomendada, String codigoOrgSupAlim){
        super(lote,fechaEnvasado,fechaCaducidad,paisOrigen,temperaturaMantenimientoRecomendada);
        this.codigoOrgSupAlim=codigoOrgSupAlim;
    }

    public void setCodigoOrgSupAlim(String codigoOrgSupAlim){
        this.codigoOrgSupAlim=codigoOrgSupAlim;
    }
   
    public String getCodigoOrgSupAlim(){
        return codigoOrgSupAlim;
    }

    public void mostrarProducto(){
        System.out.println("--- Producto Refrigerado ---");
        super.mostrarProducto();
        System.out.println("Codigo del Organismo de Supervisión Alimentaria : "+codigoOrgSupAlim+"\n");
    }
}
Código: [Seleccionar]
import java.util.Calendar;

public class ProductoCongeladoAire extends ProductoNoFresco
{
    private double nitrogeno;
    private double oxigeno;
    private double dioxidoCarbono;
    private double vaporAgua;

    public ProductoCongeladoAire()
    {
        super();
        nitrogeno=0;
        oxigeno=0;
        dioxidoCarbono=0;
        vaporAgua=0;
    }

    public ProductoCongeladoAire(String lote,Calendar fechaEnvasado,Calendar fechaCaducidad,String paisOrigen,
    double temperaturaMantenimientoRecomendada,double nitrogeno,double oxigeno,double dioxidoCarbono,double vaporAgua){
        super(lote,fechaEnvasado,fechaCaducidad,paisOrigen,temperaturaMantenimientoRecomendada);
        this.nitrogeno=nitrogeno;
        this.oxigeno=oxigeno;
        this.dioxidoCarbono=dioxidoCarbono;
        this.vaporAgua=vaporAgua;
    }

    public void setNitrogeno(double nitrogeno){
        this.nitrogeno =nitrogeno;
    }

     public void setOxigeno(double oxigeno){
        this.oxigeno =oxigeno;
    }
   
     public void setDioxidoCarbono(double dioxidoCarbono){
        this.dioxidoCarbono =dioxidoCarbono;
    }
   
     public void setVaporAgua(double vaporAgua){
        this.vaporAgua =vaporAgua;
    }
   
   
   
    public double getNitrogeno(){
        return nitrogeno;
    }

    public double getOxigeno(){
        return oxigeno;
    }
   
    public double getDioxidoCarbono(){
        return dioxidoCarbono;
    }
   
    public double geVaporAgua(){
        return vaporAgua;
    }
   
    public void mostrarProducto(){
        System.out.println("--- Producto Congelado por Aire---");
        super.mostrarProducto();
        System.out.println("Porcentaje de Nitrogeno : "+nitrogeno+"%");
        System.out.println("Porcentaje de Oxigeno : "+oxigeno+"%");
        System.out.println("Porcentaje de Dioxiodo de Carbono : "+dioxidoCarbono+"%");
        System.out.println("Porcentaje de Vapor de Agua : "+vaporAgua+"%\n");
    }
}
Código: [Seleccionar]
import java.util.Calendar;

public class ProductoCongeladoAgua extends ProductoNoFresco{

    private double salinidadAgua;

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

    public ProductoCongeladoAgua(String lote, Calendar fechaEnvasado, Calendar fechaCaducidad, String paisOrigen,
    double temperaturaMantenimientoRecomendada,double salinidadAgua){
        super(lote,fechaEnvasado,fechaCaducidad,paisOrigen,temperaturaMantenimientoRecomendada);
        this.salinidadAgua=salinidadAgua;
    }

    public void setSalinidadAgua(double salinidadAgua){
        this.salinidadAgua=salinidadAgua;
    }

    public double getSalinidadAgua(){
        return salinidadAgua;
    }

    public void mostrarProducto(){
        System.out.println("--- Producto Congelado por Agua ---");
        super.mostrarProducto();
        System.out.println("Salinidad del agua : "+salinidadAgua+"grNa/l\n");
    }
}
Código: [Seleccionar]
import java.util.Calendar;

public class ProductoCongeladoNitrogeno extends ProductoNoFresco
{
    private String metodoCongelacion;
    private int tiempoExposicion;

    public ProductoCongeladoNitrogeno(){
        super();
        metodoCongelacion="";
        tiempoExposicion=0;

    }

    public ProductoCongeladoNitrogeno(String lote,Calendar fechaEnvasado,Calendar fechaCaducidad,String paisOrigen,
    double temperaturaMantenimientoRecomendada,String metodoCongelacion,int tiempoExposicion){
        super(lote,fechaEnvasado,fechaCaducidad,paisOrigen,temperaturaMantenimientoRecomendada);
        this.metodoCongelacion=metodoCongelacion;
        this.tiempoExposicion=tiempoExposicion;
    }
   
    public void setMetodoCongelacion(String metodoCongelacion){
        this.metodoCongelacion=metodoCongelacion;
    }
   
    public void setTiempoExposicion(int tiempoExposicion){
        this.tiempoExposicion=tiempoExposicion;
    }
   
    public String getMetodoCongelacion(){
        return metodoCongelacion;
    }
   
    public int getTiempoExposicion(){
        return tiempoExposicion;
    }
   
    public void mostrarProducto(){
        System.out.println("--- Producto Congelado por Nitrógeno ---");
        super.mostrarProducto();
        System.out.println("Método de congelación utilizado : "+metodoCongelacion);
        System.out.println("Tiempo de exposición : "+tiempoExposicion+"s\n");
    }
}

Un saludo

7
Muchas gracias Mario.
Tomo nota de tu consejo y lo pondré en practica en el siguiente ejercicio.
Un saludo.

8
Esta podría ser una solución al ejercicio propuesto CU00686B.


Código: [Seleccionar]
public class Producto
{
    private String lote;
    private String fechaCaducidad;

    public Producto(){
        lote="";
        fechaCaducidad="";
    }

    public Producto(String lote,String fechaCaducidad){
        this.lote=lote;
        this.fechaCaducidad=fechaCaducidad;
    }

    public void setLote(String lote){
        this.lote=lote;
    }

    public void setFechaCaducidad(String fechaCaducidad){
        this.fechaCaducidad=fechaCaducidad;
    }

    public String getLote(){
        return lote;
    }

    public String getFechaCaducidad(){
        return fechaCaducidad;
    }

    public void mostrarProducto(){
        System.out.println("Lote : "+lote);
        System.out.println("Fecha de caducidad : "+fechaCaducidad);
    }
   
    public void mostrarInformacion(){
        //Sobreescrito en cada una de las subclases
    }
   
}


Código: [Seleccionar]
public class ProductoFresco extends Producto
{
    private String fechaEnvasado;
    private String paisOrigen;

    public ProductoFresco(){
        super();
        fechaEnvasado="";
        paisOrigen="";
    }

    public ProductoFresco(String numeroLote, String fechaCaducidad, String fechaEnvasado, String paisOrigen){
        super(numeroLote,fechaCaducidad);
        this.fechaEnvasado=fechaEnvasado;
        this.paisOrigen=paisOrigen;
    }

    public void setFechaEnvasado(String fechaEnvasado){
        this.fechaEnvasado=fechaEnvasado;
    }

    public void setPaisOrigen(String paisOrigen){
        this.paisOrigen=paisOrigen;
    }

    public String getFechaEnvasdo(){
        return fechaEnvasado;
    }

    public String getPaisOrigen(){
        return paisOrigen;
    }

    public void mostrarInformacion(){
         System.out.println("--- Producto Fresco ---");
        mostrarProducto();
        System.out.println("Fecha de envasado : "+fechaEnvasado);
        System.out.println("Pais de origen :"+paisOrigen);
    }
}



Código: [Seleccionar]
public class ProductoRefrigerado extends Producto
{
    private String codigoOrgSupAlim;

    public ProductoRefrigerado(){
        super();
        codigoOrgSupAlim="";
    }

    public ProductoRefrigerado(String lote, String fechaCaducidad, String codigoOrgSupAlim){
        super(lote,fechaCaducidad);
        this.codigoOrgSupAlim=codigoOrgSupAlim;
    }

    public void setCodigoOrgSupAlim(String codigoOrgSupAlim){
        this.codigoOrgSupAlim=codigoOrgSupAlim;
    }

    public String getCodigoOrgSupAlim(){
        return codigoOrgSupAlim;
    }

    public void mostrarInformacion(){
        System.out.println("--- Producto Refrigerado ---");
        mostrarProducto();
        System.out.println("Codigo del Organismo de Supervisión Alimentaria : "+codigoOrgSupAlim);

    }
}


Código: [Seleccionar]
public class ProductoCongelado extends Producto
{
    private double temperaturaCongelacion;

    public ProductoCongelado()
    {
        super();
        temperaturaCongelacion=0;
    }

    public ProductoCongelado(String lote,String fechaCaducidad,double temperaturaCongelacion){
        super(lote,fechaCaducidad);
        this.temperaturaCongelacion=temperaturaCongelacion;
    }

    public void setTemperaturaCongelacion(double temperaturaCongelacion){
        this.temperaturaCongelacion =temperaturaCongelacion;
    }

    public double getTemperaturaCongelacion(){
        return temperaturaCongelacion;
    }

    public void mostrarInformacion(){
        System.out.println("--- Producto Congelado ---");
        mostrarProducto();
        System.out.println("Temperatura de congelación : "+temperaturaCongelacion+"ºC");
    }
}


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

public class TestHerencia2
{
    public static void main(String Arg[]){
        ArrayList<Producto> listaProductos= new ArrayList<Producto>();

        listaProductos.add(new ProductoFresco("01","01/01/2021","01/01/2001","Argentina"));
        listaProductos.add(new ProductoRefrigerado("02","02/02/2022","COD-002"));
        listaProductos.add(new ProductoCongelado("03","03/03/2023",-3.50));

        System.out.println("Lista de Productos\n");
        Iterator<Producto> otroProducto=listaProductos.iterator();
        while(otroProducto.hasNext()){
            otroProducto.next().mostrarInformacion();
        }
        System.out.println("\nFin lista");
    }
}

Un saludo

9
Hola buenos días.

Estas son mis respuestas al ejercicio propuesto.

1.¿Qué mensaje de error se obtiene?


Nos señala que existe un error en la palabra 'this' de la línea:

System.out.println ("Atributo 1 vale" + this.getAtrib1());
 
El compilador nos devuelve el mensaje "variable no-estática, no puede ser referenciada  desde un contexto estático". 


2.¿Por qué se obtiene este mensaje de error?

La palabra this en java se utiliza para hacer referencia a 'el objeto actual' y en el contexto en el que nos encontramos el compilador no puede encontrar un objeto al cual hacer referencia. Por otra parte, se está invocando a método de instancia el cual tiene que aplicarse sobre un objeto, y a esa altura de código el objeto no ha sido creado.


3.¿Cómo podemos solucionarlo para que se ejecute lo que pretendemos?

Como nuestra pretensión es acceder al contenido del atributo atributo1 de un objeto de la clase Test, primeramente deberíamos de crear un objeto de dicha clase y luego invocar al  método getAtrib1() del objeto creado.
En la parte de código dejo una posible solución al ejercicio.

Código: [Seleccionar]
public class Test {
    int atributo1;
    Test (int atrib) {atributo1 = 0;}
    public static void main (String[ ] Args) {
        Test test=new Test(5);// Se crea el objeto
        System.out.println ("Mensaje 1");
        System.out.println ("Atributo 1 vale" + test.getAtrib1());// Se aplica el método sobre el objeto
    } //Cierre del main
    public int getAtrib1() {return atributo1;}
} //Cierre de la clase

Un saludo.

10
Mi solución al ejercicio propuesto CU00678B.

Código: [Seleccionar]
import java.util.ArrayList;
import java.util.Set;
import java.util.TreeSet;
import java.util.HashSet;
import java.util.Iterator;

public class Polimorfismo{

    public static void main(String Arg[]){

        ArrayList<Set> arrayList=new ArrayList<Set>();
        HashSet<String> hashSet = new HashSet<String>();
        hashSet.add("sol");hashSet.add("luna");hashSet.add("Saturno");
        TreeSet<Integer> treeSet=new TreeSet<Integer>();
        treeSet.add(2);treeSet.add(8);treeSet.add(5);

        arrayList.add(hashSet);arrayList.add(treeSet);

        Iterator<Set> iteradorArray=arrayList.iterator();
        while(iteradorArray.hasNext()){
            Iterator iteradorSet=iteradorArray.next().iterator();
            while(iteradorSet.hasNext()){
                System.out.print(iteradorSet.next()+" ");
            }
            System.out.println("");
        }
    }
}

Un saludo.

11
Propongo esta solución al ejercicio CU00675B.


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

public class CopiaArray
{
    public static void main(String Arg[]){
        int miArray[]={2, -4, 3, -7};

        for(int i=0;i<miArray.length;i++){
            System.out.println("miArray["+i+"]="+miArray[i]);
        }

        ArrayList<Integer> lista1= new ArrayList<Integer>();
        for(int i=0;i<miArray.length;i++){
            lista1.add(miArray[i]);
        }

        int j=0;
        Iterator<Integer> iteradorLista1 = lista1.iterator();
        while(iteradorLista1.hasNext()){
         System.out.println("lista1("+j+")="+iteradorLista1.next());
            j++; 
        }
    }
}

1.¿Qué tipo de datos almacena el array?

En este caso el array almacena datos del tipo primitivo int.


2. ¿Qué tipo de datos almacena el ArrayList?

El ArrayList por su parte almacena objetos de la clase Integer.

Un saludo

13
Una posible solución al ejercicio.
Código: [Seleccionar]
import java.util.Scanner;

public class EntradaTeclado{

    private String entrada;
    Scanner scaner;
   
    public EntradaTeclado(){
        entrada="";
        scaner = new Scanner(System.in);
    }

    public String getEntrada(){
        return entrada;
    }

    public void setEntrada(){
        entrada = scaner.nextLine();
    }
}
Código: [Seleccionar]
import java.util.Random;

public class AdivinaNumero{

    public static void main(String Arg[]){

        int numeroAleatorio=0;

        // Nos aseguramos de que el numero generado no se el 0
        while (numeroAleatorio==0){
            numeroAleatorio=new Random().nextInt(101);
        }

        System.out.print("Se ha generado un numero aleatorio entre 1 y 100, intente adivinarlo...: ");

        EntradaTeclado entradaTeclado=new EntradaTeclado();
        Integer numeroAux=0;

        do{
            entradaTeclado.setEntrada();
            numeroAux=numeroAux.valueOf(entradaTeclado.getEntrada());
            if((int)numeroAux>numeroAleatorio){
                System.out.print("No has acertado: el número es menor. Prueba otra vez : ");
            }else{
                if((int)numeroAux<numeroAleatorio){
                    System.out.print("No has acertado: el número es mayor. Prueba otra vez : ");
                }
            }
        }while((int)numeroAux!=numeroAleatorio);

        System.out.println("¡Enhorabuena has acertado!");
    }
}
Saludos.

14
Esta podría ser una solución para el ejercicio CU00669B.


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

public class EntradaTeclado{

    private String entrada;
    Scanner scaner;
   
    public EntradaTeclado(){
        entrada="";
        scaner = new Scanner(System.in);
    }

    public String getEntrada(){
        return entrada;
    }

    public void setEntrada(){
        entrada = scaner.nextLine();
    }
}


Código: [Seleccionar]
//Encontre en el API de Java la clase Random que la utilizo para generar indices de forma aleatoria
import java.util.Random;

public class MesSecreto{

    public static void main(String Arg[]){

        String[] meses={"enero","febrero","marzo","abril","mayo","junio","julio","agosto",
                "septiembre","octubre","noviembre","diciembre"};
        /*Accedemos a una posición aleatoria del vector utilizando el metodo nextInt de la clase
         * Random, que devuelve un entero comprendido entre 0 y el argumento entero-1.
         * ¡Ligando el azar a la programación!, puede que no sea una buena idea...
         */       
        String mesSecreto=meses[new Random().nextInt(12)];
        EntradaTeclado entradaTeclado=new EntradaTeclado();

        System.out.print("Adivine el mes secreto. Introduzca el nombre del mes en minúsculas: ");
        entradaTeclado.setEntrada();

        while(!mesSecreto.equals(entradaTeclado.getEntrada())){
            System.out.print("No ha acertado. Intente adivinarlo introduciendo otro mes: ");
            entradaTeclado.setEntrada();
        }

        System.out.println("¡Ha acertado!");
    }
}


Un saludo.

15
Aquí os dejo una posible solución del ejercicio de la clase iterador CU00667B

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

public class EntradaTeclado{

    private String entrada;
    Scanner scaner;
   
    public EntradaTeclado(){
        entrada="";
        scaner = new Scanner(System.in);
    }

    public String getEntrada(){
        return entrada;
    }

    public void setEntrada(){
        entrada = scaner.nextLine();
    }
}


Código: [Seleccionar]
public class CantanteFamoso{
   
    private String nombre;
    private String discoDeMasVentas;
   
    public CantanteFamoso(){
        nombre="";
        discoDeMasVentas="";
    }
   
    public CantanteFamoso(String nombre,String discoDeMasVentas){
        this.nombre=nombre;
        this.discoDeMasVentas=discoDeMasVentas;
    }
   
    public CantanteFamoso(CantanteFamoso cantanteFamoso){
        this.nombre=cantanteFamoso.getNombre();
        this.discoDeMasVentas=cantanteFamoso.getDiscoMasVentas();
    }
   
    public String getNombre(){
        return nombre;
    }
   
    public String getDiscoMasVentas(){
        return discoDeMasVentas;
    }
   
    public void setNombre(String nombre){
        this.nombre=nombre;
    }
   
    public void setDiscoMasVentas(String discoDeMasVentas){
        this.discoDeMasVentas=discoDeMasVentas;
    }
   
    public void visualizarCantante(){
        System.out.println("Nombre : "+nombre+", "+"Disco de mas vendido : "+discoDeMasVentas);
    }
         
}


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

public class ListaCantantesFamosos{

    private ArrayList<CantanteFamoso> listaCantantes;

    public ListaCantantesFamosos(){
        listaCantantes = new ArrayList<CantanteFamoso>();
    }

    public ArrayList<CantanteFamoso> getLista(){
        return listaCantantes;
    }
   
    public CantanteFamoso getCantante(int posicion){
        if(posicion>=0 && posicion<listaCantantes.size()){
            return listaCantantes.get(posicion);
        }else{
            return null;
        }
    }

    public void addCantante(CantanteFamoso cantanteFamoso){
        listaCantantes.add(cantanteFamoso);
    }

    public void removeCantante(int posicion){
        if(posicion>=0 && posicion<listaCantantes.size()){
            listaCantantes.remove(posicion);
        }
    }

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


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

public class TestIterador{

    public static void main (String Arg[]){

        ListaCantantesFamosos listaCantantes = new ListaCantantesFamosos();
        listaCantantes.addCantante(new CantanteFamoso("Primer Cantante","Primer Disco"));
        listaCantantes.addCantante(new CantanteFamoso("Segundo Cantante","Segundo Disco"));

        System.out.println("Listado de cantantes famosos");
        Iterator<CantanteFamoso> iteradorCantante = listaCantantes.getLista().iterator();
        while(iteradorCantante.hasNext()){
            iteradorCantante.next().visualizarCantante();
        }

        EntradaTeclado entradaTeclado=new EntradaTeclado();
        do{
            CantanteFamoso nuevoCantante = new CantanteFamoso();
            System.out.print("Dame el nombre de otro cantante famoso : ");entradaTeclado.setEntrada();
            nuevoCantante.setNombre(entradaTeclado.getEntrada());
            System.out.print("Dame el nombre de su disco mas vendido : ");entradaTeclado.setEntrada();
            nuevoCantante.setDiscoMasVentas(entradaTeclado.getEntrada());
            listaCantantes.addCantante(nuevoCantante);

            System.out.println("Listado de cantantes famosos");
            iteradorCantante = listaCantantes.getLista().iterator();
            while(iteradorCantante.hasNext()){
                iteradorCantante.next().visualizarCantante();
            }
           
             System.out.print("¿Desea introducir otro cantante?(S/N) : ");entradaTeclado.setEntrada();
           
        }while(entradaTeclado.getEntrada().equals("S"));
    }
}

Un saludo.

16
Buenos días aquí dejo una posible solución al ejercicio CU00666B:

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

public class EntradaTeclado{

    private String entrada;
    Scanner scaner;
   
    public EntradaTeclado(){
        scaner = new Scanner(System.in);
        entrada = scaner.nextLine();
    }

    public String getEntrada(){
        return entrada;
    }

    public void setEntrada(){
        entrada = scaner.nextLine();
    }
}


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

public class ListaCantantesFamosos{

    private ArrayList<String> listaCantantes;

    public ListaCantantesFamosos(){
        listaCantantes = new ArrayList<String>();
        listaCantantes.add("Joaquin Sabina");
        listaCantantes.add("Carlos Cano");
        listaCantantes.add("David Broza");
    }

    public ArrayList<String> getLista(){
        return listaCantantes;
    }
   
    public String getCantante(int posicion){
        if(posicion>=0 && posicion<listaCantantes.size()){
            return listaCantantes.get(posicion);
        }else{
            return "No existe cantante para esa posición de la lista";
        }
    }

    public void addCantante(String nombreCantante){
        listaCantantes.add(nombreCantante);
    }

    public void removeCantante(int posicion){
        if(posicion>=0 && posicion<listaCantantes.size()){
            listaCantantes.remove(posicion);
        }
    }

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


Código: [Seleccionar]
public class TestForExtendido{

    public static void main(String Arg[]){

        ListaCantantesFamosos listaCantantes=new ListaCantantesFamosos();
        EntradaTeclado entradaTeclado;
       
        do{
            System.out.print("Dame el nombre de un cantante famoso : ");
            entradaTeclado = new EntradaTeclado();
            listaCantantes.addCantante(entradaTeclado.getEntrada());

            int numeroCantante=1;
            for(String cantante : listaCantantes.getLista()){
                System.out.println("El cantante numero "+ numeroCantante+" es : "+cantante);
                numeroCantante++;
            }

            System.out.print("¿Quieres continuar?(S/N)");
            entradaTeclado.setEntrada();
        }while(entradaTeclado.getEntrada().equals("S"));
    }
}

Un saludo

17
Solución propuesta para el ejercicio de listas CU00665B.


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

public class EntradaTeclado{

    private String entrada;
    Scanner scaner;
   
    public EntradaTeclado(){
        scaner = new Scanner(System.in);
        entrada = scaner.nextLine();
    }

    public String getEntrada(){
        return entrada;
    }

    public void setEntrada(){
        entrada = scaner.nextLine();
    }
}


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

public class ListaCantantesFamosos{
    private ArrayList<String> listaCantantes;

    public ListaCantantesFamosos(){
        listaCantantes = new ArrayList<String>();
        listaCantantes.add("Joaquin Sabina");
        listaCantantes.add("Carlos Cano");
        listaCantantes.add("David Broza");
    }

    public String getCantante(int posicion){
        if(posicion>=0 && posicion<listaCantantes.size()){
            return listaCantantes.get(posicion);
        }else{
            return "No existe cantante para esa posición de la lista";
        }
    }
   
    public void addCantante(String nombreCantante){
        listaCantantes.add(nombreCantante);
    }
   
    public void removeCantante(int posicion){
         if(posicion>=0 && posicion<listaCantantes.size()){
            listaCantantes.remove(posicion);
        }
    }
   
    public int getTamaño(){
        return listaCantantes.size();
    }
}


Código: [Seleccionar]
public class Test{
   
    public static void main(String arg[]){
       
        System.out.print("Dame el nombre de un cantante famoso : ");
        EntradaTeclado entrada1 = new EntradaTeclado();
        System.out.print("Dame un segundo nombre de cantante famoso : ");
        EntradaTeclado entrada2 = new EntradaTeclado();
       
        ListaCantantesFamosos listaCantantes = new ListaCantantesFamosos();
        listaCantantes.addCantante(entrada1.getEntrada());
        listaCantantes.addCantante(entrada2.getEntrada());
       
        System.out.println("El contenido de la lista de cantantes famosos es el siguiente :");
        System.out.println(listaCantantes.getCantante(0));
        System.out.println(listaCantantes.getCantante(1));
        System.out.println(listaCantantes.getCantante(2));
        System.out.println(listaCantantes.getCantante(3));
        System.out.println(listaCantantes.getCantante(4));
        System.out.println("Fin del programa");
    }
}

Un saludo.

18
Solución propuesta al ejercicio CU00659B utilizando un bucle while (se detecta si el usuario ha introducido una cadena vacía).


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

public class Deletreo{

    public static void main(String arg[]){
        String cadena="";
        Scanner scaner= new Scanner(System.in);

        System.out.print("Dame la cadena a deletrear :");
        cadena=scaner.nextLine();

        if(cadena.length()>0){   
            int i=0;
            while(i<cadena.length()){
                System.out.println("Letra "+ (i+1)+":"+cadena.substring(i,i+1));
                i++;
            }
        }else{
            System.out.println("Me has dado una cadena vacia");
        }
    }
}
Gracias.

19
Una solución al ejercicio CU00658B podría ser la siguiente. Gracias


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

public class Deletreo{

    public static void main(String arg[]){
        String cadena="";
        Scanner scaner= new Scanner(System.in);

        System.out.print("Dame la cadena a deletrear :");
        cadena=scaner.nextLine();

        if(cadena.length()>0){       
            for(int i=0;i<cadena.length();i++){
                System.out.println("Letra "+ (i+1)+":"+cadena.substring(i,i+1));
            }
        }else{
            System.out.println("Me has dado una cadena vacia");
        }
    }
}

20
Hola. Presento aquí la que podría ser una solución al ejercicio CU00657B. Espero que sea correcta. Gracias

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

public class Cadena{
   
    public static void main(String arg[]){
       
        String cadena="";
        String mensajeLongitud = " tiene menos de 5 caracteres";
        String mensajeLetraInicial = " y no comienza con a";
       
        Scanner scaner = new Scanner(System.in);
        System.out.print("Dame una cadena : ");
        cadena=scaner.nextLine();
       
        if(cadena.length()>5 && cadena.length()<=15){
            mensajeLongitud=" tiene entre 5 y 15 caracteres";
        }else{
            if(cadena.length()>15){
                mensajeLongitud=" tiene mas de 15 caracteres";
            }
        }
   
        if(cadena.substring(0,1).equalsIgnoreCase("a")){
            mensajeLetraInicial =" y comienza con a";
        }
       
        System.out.println("La cadena "+cadena+mensajeLongitud+" "+mensajeLetraInicial);
    }
}

Páginas: [1]

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