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

Páginas: [1] 2
1
Buenas noches, aquí les dejo mi ejercicio:

Interface InstalacionDeportiva:
Código: [Seleccionar]
package aprenderaprogramar.java.iniciacion.clase97;

public interface InstalacionDeportiva {
public int getTipoInstalacion();
}// fin interface

Interface Edificio:
Código: [Seleccionar]
package aprenderaprogramar.java.iniciacion.clase97;

public interface Edificio {
double getSuperficieEdificio();
}// fin interface

Clase Polideportivo:
Código: [Seleccionar]
package aprenderaprogramar.java.iniciacion.clase97;

public class Polideportivo implements InstalacionDeportiva,Edificio {
private String nombre;
private int tipoDeInstalacion;
private double superficieEdificio;

// constructores
public Polideportivo() { nombre =""; tipoDeInstalacion = 0; superficieEdificio = 0;}
public Polideportivo(String nombre,int tipoDeInstalacion,double superficieEdificio) {
this.nombre = nombre;
this.tipoDeInstalacion = tipoDeInstalacion;
this.superficieEdificio = superficieEdificio;
}

// métodos
// getters and setters
public String getNombre() { return nombre; }
public void setNombre(String nombre) { this.nombre = nombre; }
public int getTipoInstalacion(){ return tipoDeInstalacion; }// método implementado del interface InstalacionDeportiva
public void setTipoDeInstalacion(int tipoDeInstalacion) { this.tipoDeInstalacion = tipoDeInstalacion; }
public double getSuperficieEdificio(){ return superficieEdificio;  }// método implementado del interface Edificio
public void setSuperficieEdificio(double superficieEdificio) { this.superficieEdificio = superficieEdificio; }
// otros métodos
public String toString(){
return "Nombre: "+nombre+" , Tipo de Instalación: "+tipoDeInstalacion+" , Superficie del Edificio: "+superficieEdificio+" m²."; }
} // fin de clase

Clase EdificioDeOficinas:
Código: [Seleccionar]
package aprenderaprogramar.java.iniciacion.clase97;

public class EdificioDeOficinas implements Edificio{
private int numeroDeOficinas;
private double superficieEdificio;

// constructores
EdificioDeOficinas(){ numeroDeOficinas = 0; superficieEdificio = 0; }
EdificioDeOficinas(int numeroDeOficinas,double superficieEdificio){
this.numeroDeOficinas = numeroDeOficinas;
this.superficieEdificio = superficieEdificio; }

// métodos
// getters and setters
public double getSuperficieEdificio(){return superficieEdificio;}// método implementado del interface Edificio
public void setSuperficieEdificio(double superficieEdificio) { this.superficieEdificio = superficieEdificio; }
public int getNumeroDeOficinas() { return numeroDeOficinas; }
public void setNumeroDeOficinas(int numeroDeOficinas) { this.numeroDeOficinas = numeroDeOficinas; }
// otros métodos
public String toString(){
return "Número de oficinas: "+numeroDeOficinas+" , Superficio del Edificio: "+superficieEdificio+" m²."; }
}// fin de clase

Clase Test:
Código: [Seleccionar]
package aprenderaprogramar.java.iniciacion.clase97;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class Test {

public static void main(String[] args) {
// creo los objetos del arrayList
Edificio poli1 = new Polideportivo("Pancho Camurria", 4, 12000);
Edificio poli2 = new Polideportivo("La Hamburguesa", 3, 15000);
Edificio poli3 = new Polideportivo("Polideportivo Municipal S/C de Tenerife",1 , 60000);
Edificio oficinas1 = new EdificioDeOficinas(10, 2000);
Edificio oficinas2 = new EdificioDeOficinas(20, 3000);
// creo el ArrayList y añado los objetos creados
List <Edificio> misEdificios = new ArrayList<Edificio>();
misEdificios.add(poli1);misEdificios.add(poli2);misEdificios.add(poli3);misEdificios.add(oficinas1);misEdificios.add(oficinas2);
// listo todos los objetos con sus datos
Iterator <Edificio> it = misEdificios.iterator();
System.out.println("Los Edificios de la Lista son: \n" );
while(it.hasNext()){
Edificio tmp = it.next();
if(tmp instanceof Polideportivo)
System.out.print("Polideportivo -> ");
else
System.out.print("Edificio de oficinas -> ");
System.out.println(tmp.toString());
}// fin while
}// fin método main
}// fin de clase

La pregunta y su respuesta
Citar
¿Entre qué clases existe una relación que se asemeja a la herencia múltiple?
 Entre la clase Polideportivo y las Interfaces InstalacionDeportiva y Edificio.

Agradeceré sus correcciones o sugerencias.

2
Buenas noches, aquí les dejo mis rspuestas:

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

No. Java no soporta la herencia múltiple.

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

No. Los métodos de una interface están vacíos, no tienen cuerpo, sólo tienen la signatura y son las clases que las implementan las que están obligadas a declarar el cuerpo con todo el codigo que necesiten, igual que en una clase abstracta.

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

No. Misma respuesta anterior.

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

Si. Y es una de las formas de Polimorfismo que permite Java.

¿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?

No. La clase debe implementar la interface.

¿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?

Si, es una de las formas de Polimorfismo que permite Java.
   

3
Buenas noches aquí les dejo mi ejercicio CU00695B del curso de fundamentos de programación  orientada a objetos con Java:


Clase Legislador:

Código: [Seleccionar]
package aprenderaprogramar.java.iniciacion.clase95;

import java.util.Calendar;

public abstract class Legislador {
protected String nombre;
private String provinciaQueRepresenta;
protected String camaraEnQueTrabaja;
private Calendar fechaInicioMandato;

// Constructors
Legislador(){nombre = ""; provinciaQueRepresenta = ""; camaraEnQueTrabaja = ""; fechaInicioMandato = null; }
Legislador(String nombre,String provinciaQueRepresenta,String camaraEnQueTrabaja,Calendar fechaInicioMandato){
this.nombre = nombre;
this.provinciaQueRepresenta = provinciaQueRepresenta;
this.camaraEnQueTrabaja = camaraEnQueTrabaja;
this.fechaInicioMandato = fechaInicioMandato; }

// methods

public abstract String getNombre() ;
public abstract void setNombre(String nombre);
public abstract String getCamaraEnQueTrabaja();
public abstract void setCamaraEnQueTrabaja(String camaraEnQueTrabaja);
public String getProvinciaQueRepresenta() { return provinciaQueRepresenta; }
public void setProvinciaQueRepresenta(String provinciaQueRepresenta) { this.provinciaQueRepresenta = provinciaQueRepresenta;}
public Calendar getFechaInicioMandato() { return fechaInicioMandato; }
public void setFechaInicioMandato(Calendar fechaInicioMandato) { this.fechaInicioMandato = fechaInicioMandato; }

public String toString(){
return "\n   Nombre  : "+nombre+"   Provincia que Representa :"+provinciaQueRepresenta+
   "\n   Camara en que Trabaja : "+camaraEnQueTrabaja+"\n   Fecha Inicio Mandato : "+fechaInicioMandato.getTime();
}// end toString method
}// end class


Clase Diputado:

Código: [Seleccionar]
package aprenderaprogramar.java.iniciacion.clase95;

import java.util.Calendar;

public class Diputado extends Legislador{

// Constructor
Diputado(){ super(); }
Diputado(String nombre,String provinciaQueRepresenta,String camaraEnQueTrabaja,Calendar fechaInicioMandato){
super(nombre,provinciaQueRepresenta,camaraEnQueTrabaja,fechaInicioMandato); }

// métodos implementados de la clase abstracta Legislador
public String getNombre(){ return nombre; }
public void setNombre(String nombre){ super.nombre = nombre;}
public String getCamaraEnQueTrabaja(){ return camaraEnQueTrabaja;}
public void setCamaraEnQueTrabaja(String camaraEnQueTrabaja){ super.camaraEnQueTrabaja = camaraEnQueTrabaja; }
// métodos propios
// sobreescritura de toString()
public String toString(){ return super.toString(); }
}// end class


Clase Senador:

Código: [Seleccionar]
package aprenderaprogramar.java.iniciacion.clase95;

import java.util.Calendar;

public class Senador extends Legislador{

// Constructores
Senador(){ super(); }
Senador(String nombre,String provinciaQueRepresenta,String camaraEnQueTrabaja,Calendar fechaInicioMandato){
super(nombre,provinciaQueRepresenta,camaraEnQueTrabaja,fechaInicioMandato); }

// métodos implementados de la clase abstracta Legislador
public String getNombre(){ return nombre; }
public void setNombre(String nombre){ super.nombre = nombre;}
public String getCamaraEnQueTrabaja(){ return camaraEnQueTrabaja;}
public void setCamaraEnQueTrabaja(String camaraEnQueTrabaja){ super.camaraEnQueTrabaja = camaraEnQueTrabaja; }
// métodos propios
// sobreescritura de toString()
public String toString(){ return super.toString(); }
}// fin de clase



Clase ListaDeLegisladores:


Código: [Seleccionar]
package aprenderaprogramar.java.iniciacion.clase95;

import java.util.ArrayList;

public class ListaDeLegisladores {
private ArrayList<Legislador> listaLegisladores;

// constructors
ListaDeLegisladores(){ listaLegisladores = new ArrayList <Legislador>(); }

// methods
public void añadirLegislador(Legislador legislador){ listaLegisladores.add(legislador); } // añade un legislador a la lista
public void borrarLegislador(Legislador legislador){ listaLegisladores.remove(legislador); }// borra un legislador
public void borrarLegislador(int posicion){ listaLegisladores.remove(posicion); }// borra un legislador en una posición de la lista
public int  buscaLegislador(Legislador legislador){ return listaLegisladores.indexOf(legislador); }//busca un legislador en la lista
public void listadoLegisladores(){ // método que lista todos los legisladores del listin
System.out.println("LISTADO TOTAL LEGISLADORES \n");
for(Legislador tmp: listaLegisladores){
//System.out.println(tmp.getCamaraEnQueTrabaja()+"\n");
String tipolegislador;
if(tmp instanceof Diputado) tipolegislador = "Objeto Diputado:"; else tipolegislador = "Objeto Senador:";
System.out.println(tipolegislador+tmp.toString());
}// end for
}// end listadoProfesores method
public void listadoPorCamara(){ // mñétodo que lista por Cámara
System.out.println("LISTADO DE LEGISLADORES POR CAMARA\n");
for(Legislador tmp: listaLegisladores){
String tipolegislador;
if(tmp instanceof Diputado) tipolegislador = "Objeto Diputado:"; else tipolegislador = "Objeto Senador:";
System.out.println(tipolegislador+" "+tmp.getNombre()+" - "+tmp.getCamaraEnQueTrabaja()+"\n");
}// end for
}// end listadoPorCamara method
} //end class


Clase TestLegisladores:

Código: [Seleccionar]
package aprenderaprogramar.java.iniciacion.clase95;

import java.util.Calendar;

public class TestLegisladores {

public static void main(String[] args) {
// creo 3 Diputados y 3 Senadores
Calendar fecha1 = Calendar.getInstance();
fecha1.set(2016, 11, 1);
Legislador diputado1 = new Diputado("José Rodríguez","Tenerife","Congreso",fecha1);
Calendar fecha2 = Calendar.getInstance();
fecha2.set(2016, 11, 2);
Legislador diputado2 = new Diputado("Francisco La Leche","Gran Canaria","Congreso",fecha2);
Calendar fecha3 = Calendar.getInstance();
fecha3.set(2016, 11, 3);
Legislador diputado3 = new Diputado("Juan Rapadura","La Palma","Congreso",fecha3);
Calendar fecha4 = Calendar.getInstance();
fecha4.set(2016, 11, 4);
Legislador senador1 = new Senador("Ana Bellavista","Tenerife","Senado",fecha4);
Calendar fecha5 = Calendar.getInstance();
fecha5.set(2016, 11, 5);
Legislador senador2 = new Senador("Luis Timanfaya","Lanzarote","Senado",fecha5);
Calendar fecha6 = Calendar.getInstance();
fecha6.set(2016, 11, 6);
Legislador senador3 = new Senador("Sebastián Chipude","La Gomera","Senado",fecha6);
// creo la lista y agrego los legisladores
ListaDeLegisladores lista = new ListaDeLegisladores();
lista.añadirLegislador(diputado1);lista.añadirLegislador(diputado2);lista.añadirLegislador(diputado3);
lista.añadirLegislador(senador1);lista.añadirLegislador(senador2);lista.añadirLegislador(senador3);
// listo los legisladores por la cámara en que trabajan
lista.listadoPorCamara();
// si quiero todos los datos
lista.listadoLegisladores();
}// end main method
}// end class

Agradeceré sus correcciones o sugerencias.

4
Buenos días, aquí les dejo mi ejercicio:

Clase Figura:
Código: [Seleccionar]
package aprenderaprogramar.java.iniciacion.clase94;

public class Figura {
private double dimensionPrincipal;

// constructores
Figura(){ dimensionPrincipal = 0; }
Figura(double dimensionPrincipal){ this.dimensionPrincipal = dimensionPrincipal; }

// Métodos
public double getDimensionPrincipal() { return dimensionPrincipal; }
public void setDimensionPrincipal(double dimensionPrincipal) { this.dimensionPrincipal = dimensionPrincipal; }

public String toString(){ return "  Objeto Figura, con una Dimension Principal de :"+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;
}// fin método equals
}// fin clase

Clase Círculo:
Código: [Seleccionar]
package aprenderaprogramar.java.iniciacion.clase94;

import java.lang.Math;

public class Circulo extends Figura {

//Constructores
Circulo(){ super(); }
Circulo(double dimensionPrincipal){ super(dimensionPrincipal); }

// Métodos
public double calcularArea(){return Math.PI * getDimensionPrincipal() * getDimensionPrincipal(); }

public String toString(){ return "Objeto Círculo, subclase de Figura :\n"+super.toString(); }

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;
}// fin método equals
}// fin de clase

Clase Cuadrado:
Código: [Seleccionar]
package aprenderaprogramar.java.iniciacion.clase94;

public class Cuadrado extends Figura{

// Constructores
Cuadrado(){ super(); }
Cuadrado(double dimensionPrincipal){super(dimensionPrincipal); }

// métodos
public double calcularArea(){ return getDimensionPrincipal() * getDimensionPrincipal(); }

public String toString(){ return "Objeto Cuadrado, subclase de Figura :\n"+super.toString(); }

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;
}// fin método equals
}// fin de clase

Clase Test:
Código: [Seleccionar]
package aprenderaprogramar.java.iniciacion.clase94;

public class Test {

public static void main(String[] args) {
Cuadrado cuadrado1 = new Cuadrado(4);
Cuadrado cuadrado2 = new Cuadrado(4);
Cuadrado cuadrado3 = new Cuadrado(6);

Circulo circulo1 = new Circulo(3);
Circulo circulo2 = new Circulo(3);
Circulo circulo3 = new Circulo(5);

       System.out.println ("\nComparaciones con cuadrados");
       System.out.println ("¿Son iguales el cuadrado1 y el cuadrado2? "+ cuadrado1.equals(cuadrado2) );
       System.out.println ("¿Son el mismo objeto el cuadrado1 y el cuadrado2? "+ (cuadrado1 == cuadrado2));
       System.out.println ("¿Son iguales el cuadrado1 y el cuadrado3? "+ cuadrado1.equals(cuadrado3) );
       System.out.println ("cuadrado1 es un "+cuadrado1.toString()+" \ny cuadrado3 es un "+ cuadrado3.toString());
       System.out.println ("\nComparaciones con círculos");
       System.out.println ("¿Son iguales el circulo1 y el circulo2? " + circulo1.equals(circulo2) );
       System.out.println ("¿Son el mismo objeto el circulo1 y el circulo2? " + (circulo1 == circulo2) );
       System.out.println ("¿Son iguales el circulo1 y el circulo3? " + circulo1.equals(circulo3) );
       System.out.println ("circulo1 es un "+circulo1.toString()+" \ny circulo3 es un "+ circulo3.toString());   
}// end main method
}// end class

Agradeceré cualquier correccion o sugerencia.

5
Buenas noches, aquí les dejo mis respuestas:

Enunciado y Respuestas:
Código: [Seleccionar]
Considera que estás desarrollando un programa Java donde trabajas con la superclase Profesor y la subclase
ProfesorEmerito.
Crea el código para estas clases que cumpla los requisitos que indicamos.

Como atributos de la superclase tendremos nombre (String), edad (int) y añosConsolidados (int) declarados
como protected.

En la subclase se trabajará con el campo adicional añosEmerito declarado como private.

Un método de la subclase será double obtenerSalarioBase () que obtendrá el salario base como
(925 + añosConsolidados * 33.25 + 47.80 * añosEmerito).

Intenta acceder directamente al campo 'añosConsolidados' desde la subclase (como si fuera un campo más de
la subclase) para implementar este método.
¿Es posible sin utilizar una invocación a super ni un método get?
 Si , el campo de la superclase declarado como protected es visible desde la subclase y
 no dá ningún error de compilación.

¿Qué ocurre si el atributo en la superclase lo declaras private?
 Que pierde la visibilidad y me da un error de compilación, obligándome a declarar el
 campo de la superclase como protected o a usar en el método de la subclase   
 'obtenerSalarioBase()' el método getAñosConsolidados() en sustitución del campo
 'añosConsolidados' de la superclase.

Agradezco sus correcciones o sugerencias.

Saludos,

6
Buenas noches, les adjunto mi ejercicio CU00692B del tutorial de fundamentos de programación orientada a objetos:

Clase Profesor
Código: [Seleccionar]
package aprenderaprogramar.java.iniciacion.clase92;

public class Profesor  {
  //Campos
private String nombre;
private String apellidos;
private int añosConsolidados;
 
  //Constructores
  Profesor(){
nombre = "";
apellidos ="";
añosConsolidados = 0;
  }
  Profesor(String nombre, String apellidos, int añosConsolidados) {
this.nombre = nombre;
this.apellidos = apellidos;
this.añosConsolidados = añosConsolidados;
  }

  //Métodos
  //getters and setters
public String getNombre() { return nombre; }
public void setNombre(String nombre) { this.nombre = nombre; }
public String getApellidos() { return apellidos;}
public void setApellidos(String apellidos) { this.apellidos = apellidos; }
public int getAñosConsolidados() { return añosConsolidados; }
public void setAñosConsolidados(int añosConsolidados) { this.añosConsolidados = añosConsolidados; }
// métodos específicos
public double obtenerSalarioBase (){ return 725+(añosConsolidados*33.25); }
public String toString(){
  return "Objeto Profesor, sus campos propios son: "+
         "  Nombre: "+getNombre()+
"  Apellidos: "+getApellidos()+
"  Años Consolidados: "+getAñosConsolidados();
}// cierre método toString
} //Cierre de la clase

Clase ProfesorEmerito
Código: [Seleccionar]
package aprenderaprogramar.java.iniciacion.clase92;

public class ProfesorEmerito extends Profesor {
private int añosEmerito;

// Constructors
ProfesorEmerito() { super(); }
ProfesorEmerito(String nombre, String apellidos, int añosConsolidados,int añosEmerito ){
super(nombre, apellidos,añosConsolidados);
this.añosEmerito = añosEmerito;
}

// Methods
@Override
public double obtenerSalarioBase (){ return super.obtenerSalarioBase()+(47.80 * añosEmerito); }

@Override
public String toString(){
return "Objeto ProfesorTitular, subclase de Profesor cuyos campos son:\n"+
" "+super.toString()+"\n"+
" y campos propios : Años de Emérito :"+getAñosEmerito();
}// end toString method

// getters and setters
public int getAñosEmerito() { return añosEmerito; }
public void setAñosEmerito(int añosEmerito) { this.añosEmerito = añosEmerito; }

}// end class

Clase Test
Código: [Seleccionar]
package aprenderaprogramar.java.iniciacion.clase92;

public class Test {

public static void main(String[] args) {
Profesor profesor1 = new Profesor("Pepe","Glez.", 5);
profesor1.toString();
System.out.println(profesor1.obtenerSalarioBase());

ProfesorEmerito emerito1 = new ProfesorEmerito("Pepe","Glez.", 5, 2);
emerito1.toString();
System.out.println(emerito1.obtenerSalarioBase());
} // end main method
} // end class

Muchas gracias por sus correcciones o sugerencias.

7
Hola a todos, aquí les dejo las respuestas y el código de mi ejercicio:

Enunciado y Respuestas:
Código: [Seleccionar]
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?

    No, daría error.

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

    Si y es un reflejo del polimorfismo de las variables en Java.
   
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.

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.

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?

    El de la clase 'Taxi'.
     
   ¿Por qué? Porque en tiempo de ejecución la máquina virtual de java chequea los tipos dinámicos, en este caso, una nueva instancia de un tipo 'Taxi' y cuyos constructores son los que busca para crear el objeto y sus métodos serán los que se puedan ejecutar. Si encuentra diferencia en número o tipo de los parámetros de los constructores de Taxi, dará error, como documento en mi código.


Clase Vehiculo

Código: [Seleccionar]
package aprenderaprogramar.java.iniciacion.clase90;

public class Vehiculo {
private String matricula;
private int numeroDeRuedas;
// Constructores
Vehiculo(){
matricula = "";
numeroDeRuedas= 4;
}
Vehiculo(String matricula, int numeroDeRuedas){
this.matricula = matricula;
this.numeroDeRuedas= numeroDeRuedas;
}
// Métodos
public String getMatricula() {
return matricula;
}
public void setMatricula(String matricula) {
this.matricula = matricula;
}
public int getNumeroDeRuedas() {
return numeroDeRuedas;
}
public void setNumeroDeRuedas(int numeroDeRuedas) {
this.numeroDeRuedas = numeroDeRuedas;
}
public String toString(){
String cadena = "Este Objeto es de Tipo Vehículo. Su Matrícula es '"+getMatricula()+"' y tiene '"+getNumeroDeRuedas()+"' ruedas.";
return cadena;
}
} // end class


Clase Taxi

Código: [Seleccionar]
package aprenderaprogramar.java.iniciacion.clase90;

public class Taxi extends Vehiculo{
private String nombreDelConductor;
private int numeroDePlazas;

// Constructors
Taxi(){
super();
nombreDelConductor ="";
numeroDePlazas = 0;
}
Taxi(String matricula, int numeroDeRuedas,String nombreDelConductor, int numeroDePlazas){
super(matricula, numeroDeRuedas);
this.nombreDelConductor = nombreDelConductor;
this.numeroDePlazas = numeroDePlazas;
}

// Methods
public String getNombreDelConductor() {
return nombreDelConductor;
}
public void setNombreDelConductor(String nombreDelConductor) {
this.nombreDelConductor = nombreDelConductor;
}
public int getNumeroDePlazas() {
return numeroDePlazas;
}
public void setNumeroDePlazas(int numeroDePlazas) {
this.numeroDePlazas = numeroDePlazas;
}
public String toString(){
String cadena = "Este es un Objeto Taxi, subclase de Vehículo. Su matrícula es '"+getMatricula()+"',tiene '"+getNumeroDeRuedas()+"' ruedas,\nel nombre de su conductor es '"+getNombreDelConductor()+"' y su capacidad de pasajeros es de '"+getNumeroDePlazas()+"' plazas.";
return cadena;
}
}// end class


Clase Test

Código: [Seleccionar]
package aprenderaprogramar.java.iniciacion.clase90;

public class Test {

public static void main(String[] args) {
Vehiculo mivehiculo = new Taxi("0000-ÑLK",4,"pepe",5 );
System.out.println(mivehiculo);

//Taxi mitaxi = new Vehiculo();
// Muestra Error de compilacion : Type mismatch: cannot convert from Vehiculo to Taxi , y no permite continuar.
//Taxi mitaxi = (Taxi) new Vehiculo("1111-ASD",4,"paco",5); -> da error de compilación por no existir un constructor
// de Vehiculo con 4 parámetros, a pesar de haber hecho un cast a Taxi.
Taxi mitaxi = (Taxi) new Vehiculo("1111-ASD",4);
System.out.println(mitaxi);//-> No da error de compilación pero si de ejecución :
//Exception in thread "main" java.lang.ClassCastException: aprenderaprogramar.java.iniciacion.clase90.Vehiculo
//cannot be cast to aprenderaprogramar.java.iniciacion.clase90.Taxi
//at aprenderaprogramar.java.iniciacion.clase90.Test.main(Test.java:13)

} // end main method
}// end class

Agradeceré sus correcciones o sugerencias.

8
Hola a todos, les dejo el código del ejercicio:

Clase EnvioDeProductos
Código: [Seleccionar]
package aprenderaprogramar.java.iniciacion.clase88;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class EnvioDeProductos {
private List<Producto> envio;

// Constructores
EnvioDeProductos(){
envio = new ArrayList<Producto>();
}

// Métodos
public void añadirProdEnvio(Producto item){
envio.add(item);
}
public boolean existeProdEnvio(Producto item){
return envio.contains(item);
}
public void reemplazaProdEnvio(int index,Producto item){
envio.set(index, item);
}
public void borrarEnvio(){
envio.clear();
}
public int posicionProdEnvio(Producto item){
return envio.indexOf(item);
}
public void borrarProdEnvio(Producto item){
envio.remove(item);
}
public void borrarPosicionProdEnvio(int index){
envio.remove(index);
}
public int tamañoEnvio(){
return envio.size();
}
public void ListarProdEnvio(){ 
   Iterator<Producto> iter = envio.iterator();
   System.out.println ("Los productos del envío son: ");
   Producto tmpProdEnvio;;
   while(iter.hasNext()){
   tmpProdEnvio = iter.next();
  System.out.println(tmpProdEnvio.toString());
   }// end while
}//end method
}// end class

Clase TestHerencia4
Código: [Seleccionar]
package aprenderaprogramar.java.iniciacion.clase88;

import java.time.LocalDate;

public class TestHerencia4 {

public static void main(String[] args) {
// Crear envío
EnvioDeProductos envio1 = new EnvioDeProductos();
envio1.añadirProdEnvio(new ProductoFresco("fresco1234",LocalDate.of(2017,3,15), LocalDate.of(2016,1,10),"Portugal"));
envio1.añadirProdEnvio(new ProductoFresco("fresco5678",LocalDate.of(2016,8,15), LocalDate.of(2016,1,10),"España"));
envio1.añadirProdEnvio(new ProductoRefrigerado("refrig0010",LocalDate.of(2016,6,20),LocalDate.of(2016,2,21),"Alemania","-8\u00b0C","AWD8945"));
envio1.añadirProdEnvio(new ProductoRefrigerado("refrig0020",LocalDate.of(2016,7,20),LocalDate.of(2016,3,21),"Alemania","-8\u00b0C","AWD8945"));
envio1.añadirProdEnvio(new ProductoRefrigerado("refrig0030",LocalDate.of(2016,8,20),LocalDate.of(2016,4,21),"Alemania","-8\u00b0C","AWD8945"));
envio1.añadirProdEnvio(new ProductoCongeladoAire("congel1100",LocalDate.of(2018,8,30),LocalDate.of(2016,8,31),"Brasil","-25\u00b0C","Aire","","","",""));
envio1.añadirProdEnvio(new ProductoCongeladoAire("congel1100",LocalDate.of(2018,10,30),LocalDate.of(2016,10,31),"Brasil","-25\u00b0C","Aire","","","",""));
envio1.añadirProdEnvio(new ProductoCongeladoAgua("congel2200",LocalDate.of(2019,6,30),LocalDate.of(2016,6,30),"Noruega","-20\u00b0C","Agua","0.9"));
envio1.añadirProdEnvio(new ProductoCongeladoAgua("congel2200",LocalDate.of(2019,4,30),LocalDate.of(2016,4,30),"Noruega","-20\u00b0C","Agua","0.85"));
envio1.añadirProdEnvio(new ProductoCongeladoNitrogeno("congel3300",LocalDate.of(2020,11,30),LocalDate.of(2016,11,30),"Finlandia","-30\u00b0C","Nitrógeno","IQF","20"));
// Muestro el total de productos del envío y el detalle de los mismos
System.out.println("envio1 está compuesto por "+envio1.tamañoEnvio()+" productos.");
envio1.ListarProdEnvio();
}// end main method
}// end class

Clase Producto

Código: [Seleccionar]
package aprenderaprogramar.java.iniciacion.clase88;

import java.time.LocalDate;

public class Producto {
private String lote;
private LocalDate fechaCaducidad;
private LocalDate fechaEnvasado;
private String paisOrigen;

// Constructores
Producto(){
lote = "";
fechaCaducidad = null;
fechaEnvasado  = null;
paisOrigen     = "";
}
Producto(String lote, LocalDate fechaCaducidad, LocalDate fechaEnvasado, String paisOrigen){
this.lote = lote;
this.fechaCaducidad = fechaCaducidad;
this.fechaEnvasado  = fechaEnvasado;
this.paisOrigen     = paisOrigen;
}

// Métodos
public String getLote() {
return lote;
}
public void setLote(String lote) {
this.lote = lote;
}
public LocalDate getFechaCaducidad() {
return fechaCaducidad;
}
public void setFechaCaducidad(LocalDate fechaCaducidad) {
this.fechaCaducidad = fechaCaducidad;
}
public LocalDate getFechaEnvasado() {
return fechaEnvasado;
}
public void setFechaEnvasado(LocalDate fechaEnvasado) {
this.fechaEnvasado = fechaEnvasado;
}
public String getPaisOrigen() {
return paisOrigen;
}
public void setPaisOrigen(String paisOrigen) {
this.paisOrigen = paisOrigen;
}
public String toString(){
String string ="Este es un objeto Producto, su número de Lote es '"+getLote()+"' y su Fecha de caducidad es '"+getFechaCaducidad()+
       "'\nsu fecha de Envasado es '"+getFechaEnvasado()+"' y su Pais de Origen es '"+getPaisOrigen()+"'.";
return string;
}// end toString method
}// end class

El resto de clases son las mismas del ejercicio anterior.

Les agradeceré cualquier corrección o aclaración técnica...

9
Muy buenas, aquí les dejo mi ejercicio:

Clase Producto
Código: [Seleccionar]
package aprenderaprogramar.java.iniciacion.clase87;

import java.time.LocalDate;

public class Producto {
private String lote;
private LocalDate fechaCaducidad;
private LocalDate fechaEnvasado;
private String paisOrigen;

// Constructores
Producto(){
lote = "";
fechaCaducidad = null;
fechaEnvasado  = null;
paisOrigen     = "";
}
Producto(String lote, LocalDate fechaCaducidad, LocalDate fechaEnvasado, String paisOrigen){
this.lote = lote;
this.fechaCaducidad = fechaCaducidad;
this.fechaEnvasado  = fechaEnvasado;
this.paisOrigen     = paisOrigen;
}

// Métodos
public String getLote() {
return lote;
}
public void setLote(String lote) {
this.lote = lote;
}
public LocalDate getFechaCaducidad() {
return fechaCaducidad;
}
public void setFechaCaducidad(LocalDate fechaCaducidad) {
this.fechaCaducidad = fechaCaducidad;
}
public LocalDate getFechaEnvasado() {
return fechaEnvasado;
}
public void setFechaEnvasado(LocalDate fechaEnvasado) {
this.fechaEnvasado = fechaEnvasado;
}
public String getPaisOrigen() {
return paisOrigen;
}
public void setPaisOrigen(String paisOrigen) {
this.paisOrigen = paisOrigen;
}
public String toString(){
String string ="Este es un objeto Producto, su número de Lote es '"+getLote()+"' y su Fecha de caducidad es '"+getFechaCaducidad()+
       "'\nsu fecha de Envasado es '"+getFechaEnvasado()+"' y su Pais de Origen es '"+getPaisOrigen()+"'.";
return string;
}
}

Clase ProductoFresco
Código: [Seleccionar]
package aprenderaprogramar.java.iniciacion.clase87;

import java.time.LocalDate;

public class ProductoFresco extends Producto{

//Constructores
ProductoFresco() {
super();
}
ProductoFresco(String lote, LocalDate fechaCaducidad, LocalDate fechaEnvasado, String paisOrigen) {
super(lote,fechaCaducidad,fechaEnvasado, paisOrigen);
}

//Métodos

@Override
public String toString(){
String string ="Este es un objeto ProductoFresco, es subclase de Producto; su número de Lote es '"+getLote()+"' y su Fecha de caducidad es '"+getFechaCaducidad()+
       "'\nsu fecha de Envasado es '"+getFechaEnvasado()+"' y su Pais de Origen es '"+getPaisOrigen()+"'.";
return string;
}
}

Clase ProductoTempControlada
Código: [Seleccionar]
package aprenderaprogramar.java.iniciacion.clase87;

import java.time.LocalDate;

/**
 * Clase intermedia que es subclase de Producto y creada para no duplicar campos en subclases.
 * Se usará para derivar las clases ProductoRefrigerado y ProductoCongelado
 * @author camoay
 * @var tempMantenRecom
 */
 
public class ProductoTempControlada extends Producto{
private String tempMantenRecom;

//Constructores
public ProductoTempControlada() {
super();
tempMantenRecom = "";
}
public ProductoTempControlada(String tempMantenRecom) {
super();
this.tempMantenRecom = tempMantenRecom;
}
public ProductoTempControlada(String lote,LocalDate fechaCaducidad,LocalDate fechaEnvasado,String paisOrigen,String tempMantenRecom) {
super(lote, fechaCaducidad, fechaEnvasado, paisOrigen);
this.tempMantenRecom = tempMantenRecom;
}

//Métodos
public String getTempMantenRecom() {
return tempMantenRecom;
}
public void setTempMantenRecom(String tempMantenRecom) {
this.tempMantenRecom = tempMantenRecom;
}

@Override
public String toString(){
String string ="Este es un objeto Producto de Temperatura Controlada, es subclase de Producto; su número de Lote es '"+getLote()+"' y su Fecha de caducidad es '"+getFechaCaducidad()+
       "'\nsu fecha de Envasado es '"+getFechaEnvasado()+"', su Pais de Origen es '"+getPaisOrigen()+"' y su Temperatura de Mantenimiento Recomendada es '"+getTempMantenRecom()+"'.";
return string;
}
}

Clase ProductoRefrigerado
Código: [Seleccionar]
package aprenderaprogramar.java.iniciacion.clase87;

import java.time.LocalDate;

public class ProductoRefrigerado extends ProductoTempControlada{
private String codigoOSA;

//Constructores
public ProductoRefrigerado() {
super();
codigoOSA = "";
}
public ProductoRefrigerado(String codigoOSA) {
super();
this.codigoOSA = codigoOSA;
}
public ProductoRefrigerado(String lote,LocalDate fechaCaducidad,LocalDate fechaEnvasado,String paisOrigen,String tempMantenRecom,String codigoOSA) {
super(lote, fechaCaducidad,fechaEnvasado, paisOrigen, tempMantenRecom);
this.codigoOSA = codigoOSA;
}

//Métodos
public String getCodigoOSA() {
return codigoOSA;
}
public void setCodigoOSA(String codigoOSA) {
this.codigoOSA = codigoOSA;
}

@Override
public String  toString(){
String string ="Este es un objeto ProductoRefrigerado, es subclase de ProductoTempControlada; su número de Lote es '"+getLote()+"' y su Fecha de caducidad es '"+getFechaCaducidad()+
       "'\nsu fecha de Envasado es '"+getFechaEnvasado()+"', su Pais de Origen es '"+getPaisOrigen()+"', su Temperatura de Mantenimiento Recomendada es '"+getTempMantenRecom()+
       "'\ny su Código del Organismo de Supervisión Alimentaria es '"+getCodigoOSA()+"'.";
return string;
}
}

Clase ProductoCongelado
Código: [Seleccionar]
package aprenderaprogramar.java.iniciacion.clase87;

import java.time.LocalDate;

public class ProductoCongelado extends ProductoTempControlada {
private String tipoCongelacion;

//Constructores
ProductoCongelado() {
super();
tipoCongelacion = "";
}
ProductoCongelado(String tipoCongelacion){
super();
this.tipoCongelacion = tipoCongelacion;
}
ProductoCongelado(String lote,LocalDate fechaCaducidad,LocalDate fechaEnvasado,String paisOrigen,String tempMantenRecom,String tipoCongelacion){
super(lote, fechaCaducidad,fechaEnvasado, paisOrigen, tempMantenRecom);
this.tipoCongelacion = tipoCongelacion;
}

// Métodos
public String getTipoCongelacion() {
return tipoCongelacion;
}
public void setTipoCongelacion(String tipoCongelacion) {
this.tipoCongelacion = tipoCongelacion;
}

@Override
public String  toString(){
String string ="Este es un objeto ProductoCongelado, es subclase de ProductoTempControlada; su número de Lote es '"+getLote()+"' y su Fecha de caducidad es '"+getFechaCaducidad()+
       "'\nsu fecha de Envasado es '"+getFechaEnvasado()+"', su Pais de Origen es '"+getPaisOrigen()+"', su Temperatura de Mantenimiento Recomendada es '"+getTempMantenRecom()+
       "'\ny su tipo de Congelación es '"+getTipoCongelacion()+"'.";
return string;
}
}

Clase ProductoCongeladoAire
Código: [Seleccionar]
package aprenderaprogramar.java.iniciacion.clase87;

import java.time.LocalDate;

public class ProductoCongeladoAire extends ProductoCongelado {
private String nitrogeno, oxigeno, dioxidoCarbono, vaporAgua;

//Constructores
ProductoCongeladoAire() {
super();
nitrogeno = "";
oxigeno = "";
dioxidoCarbono ="";
vaporAgua = "";
}
ProductoCongeladoAire(String nitrogeno,String oxigeno, String dioxidoCarbono,String vaporAgua){
super();
this.nitrogeno = nitrogeno;
this.oxigeno = oxigeno;
this.dioxidoCarbono = dioxidoCarbono;
this.vaporAgua = vaporAgua;
}
ProductoCongeladoAire(String lote,LocalDate fechaCaducidad,LocalDate fechaEnvasado,String paisOrigen,String tempMantenRecom,String tipoCongelacion,String nitrogeno,String oxigeno, String dioxidoCarbono,String vaporAgua){
super(lote, fechaCaducidad,fechaEnvasado, paisOrigen, tempMantenRecom,tipoCongelacion);
this.nitrogeno = nitrogeno;
this.oxigeno = oxigeno;
this.dioxidoCarbono = dioxidoCarbono;
this.vaporAgua = vaporAgua;
}

// Métodos
public String getNitrogeno() {
return nitrogeno;
}
public void setNitrogeno(String nitrogeno) {
this.nitrogeno = nitrogeno;
}
public String getOxigeno() {
return oxigeno;
}
public void setOxigeno(String oxigeno) {
this.oxigeno = oxigeno;
}
public String getDioxidoCarbono() {
return dioxidoCarbono;
}
public void setDioxidoCarbono(String dioxidoCarbono) {
this.dioxidoCarbono = dioxidoCarbono;
}
public String getVaporAgua() {
return vaporAgua;
}
public void setVaporAgua(String vaporAgua) {
this.vaporAgua = vaporAgua;
}

@Override
public String toString(){
String string ="Este es un objeto ProductoCongeladoAire, es subclase de ProductoCongelado; su número de Lote es '"+getLote()+"' y su Fecha de caducidad es '"+getFechaCaducidad()+
       "'\nsu fecha de Envasado es '"+getFechaEnvasado()+"', su Pais de Origen es '"+getPaisOrigen()+"', su Temperatura de Mantenimiento Recomendada es '"+getTempMantenRecom()+
       "'\ny su tipo de Congelación es '"+getTipoCongelacion()+" y las proporciones de gases son:\n Nitrógeno-> '"+getNitrogeno()+
       "',\n Oxígeno -> '"+getOxigeno()+
       "',\n Dioxido de Carbono -> '"+getDioxidoCarbono()+
       "',\n Vapor de Agua -> '"+getVaporAgua()+"'.";
return string;
}
}

Clase productoCongeladoAgua
Código: [Seleccionar]
package aprenderaprogramar.java.iniciacion.clase87;

import java.time.LocalDate;

public class ProductoCongeladoAgua extends ProductoCongelado {
private String salinidadAgua;

//Constructores
ProductoCongeladoAgua() {
super();
salinidadAgua = "";
}
ProductoCongeladoAgua(String salinidadAgua){
super();
this.salinidadAgua = salinidadAgua;
}
ProductoCongeladoAgua(String lote,LocalDate fechaCaducidad,LocalDate fechaEnvasado,String paisOrigen,String tempMantenRecom,String tipoCongelacion,String salinidadAgua){
super(lote, fechaCaducidad,fechaEnvasado, paisOrigen, tempMantenRecom,tipoCongelacion);
this.salinidadAgua = salinidadAgua;
}

// Métodos
public String getSalinidadAgua() {
return salinidadAgua;
}
public void setSalinidadAgua(String salinidadAgua) {
this.salinidadAgua = salinidadAgua;
}

@Override
public String toString(){
String string ="Este es un objeto ProductoCongeladoAgua, es subclase de ProductoCongelado; su número de Lote es '"+getLote()+"' y su Fecha de caducidad es '"+getFechaCaducidad()+
       "'\nsu fecha de Envasado es '"+getFechaEnvasado()+"', su Pais de Origen es '"+getPaisOrigen()+"', su Temperatura de Mantenimiento Recomendada es '"+getTempMantenRecom()+
       "'\ny su tipo de Congelación es '"+getTipoCongelacion()+"' y la Salinidad del Agua de Congelación es de '"+getSalinidadAgua()+"' gr/l.";
return string;
}
}

Clase ProductoCongeladoNitrogeno
Código: [Seleccionar]
package aprenderaprogramar.java.iniciacion.clase87;

import java.time.LocalDate;

public class ProductoCongeladoNitrogeno extends ProductoCongelado {
private String metodoCongelacion, tiempoExposicion;

//Constructores
ProductoCongeladoNitrogeno() {
super();
metodoCongelacion = "";
tiempoExposicion = "";
}
ProductoCongeladoNitrogeno(String metodoCongelacion,String tiempoExposicion){
super();
this.metodoCongelacion = metodoCongelacion;
this.tiempoExposicion  = tiempoExposicion;
}
ProductoCongeladoNitrogeno(String lote,LocalDate fechaCaducidad,LocalDate fechaEnvasado,String paisOrigen,String tempMantenRecom,String tipoCongelacion,String metodoCongelacion,String tiempoExposicion){
super(lote, fechaCaducidad,fechaEnvasado, paisOrigen, tempMantenRecom,tipoCongelacion);
this.metodoCongelacion = metodoCongelacion;
this.tiempoExposicion  = tiempoExposicion;
}

// Métodos
public String getMetodoCongelacion() {
return metodoCongelacion;
}
public void setMetodoCongelacion(String metodoCongelacion) {
this.metodoCongelacion = metodoCongelacion;
}
public String getTiempoExposicion() {
return tiempoExposicion;
}
public void setTiempoExposicion(String tiempoExposicion) {
this.tiempoExposicion = tiempoExposicion;
}

@Override
public String toString(){
String string ="Este es un objeto ProductoCongeladoNitrogeno, es subclase de ProductoCongelado; su número de Lote es '"+getLote()+"' y su Fecha de caducidad es '"+getFechaCaducidad()+
       "'\nsu fecha de Envasado es '"+getFechaEnvasado()+"', su Pais de Origen es '"+getPaisOrigen()+"', su Temperatura de Mantenimiento Recomendada es '"+getTempMantenRecom()+
       "'\ny su tipo de Congelación es '"+getTipoCongelacion()+"', el Método de Congelación del Nitrógeno es '"+getMetodoCongelacion()+"' y el Tiempo de Exposición al mismo fue de '"+getTiempoExposicion()+"' segundos.";
return string;
}
}

Clase TestHerencia3
Código: [Seleccionar]
package aprenderaprogramar.java.iniciacion.clase87;

import java.time.LocalDate;

public class TestHerencia3 {

public static void main(String[] args) {
System.out.println("\nRELACION DE PRODUCTOS FRESCOS:");
ProductoFresco producto0 = new ProductoFresco("fresco1234",LocalDate.of(2017,3,15), LocalDate.of(2016,1,10),"Portugal");
System.out.println(producto0); // opcion1
producto0.toString(); // opcion2
ProductoFresco producto1 = new ProductoFresco("fresco5678",LocalDate.of(2016,8,15), LocalDate.of(2016,1,10),"España");
System.out.println(producto1); // opcion1
producto1.toString(); // opcion2
System.out.println("\nRELACION DE PRODUCTOS REFRIGERADOS:");
ProductoRefrigerado producto2 = new ProductoRefrigerado("refrig0010",LocalDate.of(2016,6,20),LocalDate.of(2016,2,21),"Alemania","-8\u00b0C","AWD8945");
System.out.println(producto2); // opcion1
producto2.toString(); // opcio
ProductoRefrigerado producto3 = new ProductoRefrigerado("refrig0020",LocalDate.of(2016,7,20),LocalDate.of(2016,3,21),"Alemania","-8\u00b0C","AWD8945");
System.out.println(producto3); // opcion1
producto3.toString(); // opcion2
ProductoRefrigerado producto4 = new ProductoRefrigerado("refrig0030",LocalDate.of(2016,8,20),LocalDate.of(2016,4,21),"Alemania","-8\u00b0C","AWD8945");
System.out.println(producto4); // opcion1
producto4.toString(); // opcion
System.out.println("\nRELACION DE PRODUCTOS CONGELADOS POR AIRE:");
ProductoCongeladoAire producto5 = new ProductoCongeladoAire("congel1100",LocalDate.of(2018,8,30),LocalDate.of(2016,8,31),"Brasil","-25\u00b0C","Aire","","","","");
System.out.println(producto5); // opcion1
producto5.toString(); // opcion2
ProductoCongeladoAire producto6 = new ProductoCongeladoAire("congel1100",LocalDate.of(2018,10,30),LocalDate.of(2016,10,31),"Brasil","-25\u00b0C","Aire","","","","");
System.out.println(producto6); // opcion1
producto6.toString(); // opcion2
System.out.println("\nRELACION DE PRODUCTOS CONGELADOS POR AGUA:");
ProductoCongeladoAgua producto7 = new ProductoCongeladoAgua("congel2200",LocalDate.of(2019,6,30),LocalDate.of(2016,6,30),"Noruega","-20\u00b0C","Agua","0.9");
System.out.println(producto7); // opcion1
producto7.toString(); // opcion2
ProductoCongeladoAgua producto8 = new ProductoCongeladoAgua("congel2200",LocalDate.of(2019,4,30),LocalDate.of(2016,4,30),"Noruega","-20\u00b0C","Agua","0.85");
System.out.println(producto8); // opcion1
producto8.toString(); // opcion2
System.out.println("\nRELACION DE PRODUCTOS CONGELADOS POR NITROGENO:");
ProductoCongeladoNitrogeno producto9 = new ProductoCongeladoNitrogeno("congel3300",LocalDate.of(2020,11,30),LocalDate.of(2016,11,30),"Finlandia","-30\u00b0C","Nitrógeno","IQF","20");
System.out.println(producto9); // opcion1
producto9.toString(); // opcion2
}
}

Les agradeceré cualquier corrección o aclaración necesaria.

10
Hola , aquí les dejo el código de las clases correspondientes a la entrega  CU00686B del curso de fundamentos de programación orientada a objetos con Java:


Clase Producto

Código: [Seleccionar]
package aprenderaprogramar.java.iniciacion.clase86;

import java.time.LocalDate;

public class Producto {
String lote;
LocalDate caducidad;

// Constructores
Producto(){
lote = "";
caducidad = null;
}
Producto(String lote, LocalDate caducidad){
this.lote = lote;
this.caducidad = caducidad;
}

// Métodos
public String getLote() {
return lote;
}
public void setLote(String lote) {
this.lote = lote;
}
public LocalDate getCaducidad() {
return caducidad;
}
public void setCaducidad(LocalDate caducidad) {
this.caducidad = caducidad;
}
public String toString(){
String string ="Este es un objeto Producto, su Lote es '"+getLote()+"' y su Fecha de caducidad es "+getCaducidad();
return string;
}
}


Clase ProductoFresco

Código: [Seleccionar]
package aprenderaprogramar.java.iniciacion.clase86;

import java.time.LocalDate;

public class ProductoFresco extends Producto{

LocalDate fechaEnvasado;
String paisDeOrigen;

//Constructores
public ProductoFresco() {
super();
fechaEnvasado = null;
paisDeOrigen = "";
}
public ProductoFresco(LocalDate fechaEnvasado, String paisDeOrigen) {
super();
this.fechaEnvasado = fechaEnvasado;
this.paisDeOrigen = paisDeOrigen;
}
public ProductoFresco(String lote, LocalDate caducidad,LocalDate fechaEnvasado,String paisDeorigen ) {
super(lote, caducidad);
this.fechaEnvasado = fechaEnvasado;
this.paisDeOrigen = paisDeOrigen;
}

//Métodos
public LocalDate getFechaEnvasado() {
return fechaEnvasado;
}
public void setFechaEnvasado(LocalDate fechaEnvasado) {
this.fechaEnvasado = fechaEnvasado;
}
public String getPaisDeOrigen() {
return paisDeOrigen;
}
public void setPaisDeOrigen(String paisDeOrigen) {
this.paisDeOrigen = paisDeOrigen;
}
public String  toString(){
String string ="Este es un objeto ProductoFresco, hereda de Producto; su fecha de envasado es "+getFechaEnvasado()+" y su Pais de origen es "+getPaisDeOrigen();
return string;
}
}


Clase ProductoRefrigerado

Código: [Seleccionar]
package aprenderaprogramar.java.iniciacion.clase86;

import java.time.LocalDate;

public class ProductoRefrigerado extends Producto{
String codigoSA;

//Constructores
public ProductoRefrigerado() {
super();
codigoSA = "";
}
public ProductoRefrigerado(String codigoSA) {
super();
this.codigoSA = codigoSA;
}
public ProductoRefrigerado(String lote, LocalDate caducidad,String codigoSA) {
super(lote, caducidad);
this.codigoSA = codigoSA;
}

//Métodos
public String getCodigoSA() {
return codigoSA;
}
public void setCodigoSA(String codigoSA) {
this.codigoSA = codigoSA;
}
public String  toString(){
String string ="Este es un objeto ProductoRefrigerado, hereda de Producto; su Código del Organismo de Supervisión Alimentaria es "+getCodigoSA();
return string;
}
}


Clase ProductoCongelado

Código: [Seleccionar]
package aprenderaprogramar.java.iniciacion.clase86;

import java.time.LocalDate;

public class ProductoCongelado extends Producto {
String tempRecCong;

//Constructores
ProductoCongelado() {
super();
tempRecCong = "";
}
ProductoCongelado(String tempRecCong){
super();
this.tempRecCong = tempRecCong;
}
ProductoCongelado(String lote, LocalDate caducidad,String tempRecCong){
super(lote, caducidad);
this.tempRecCong = tempRecCong;
}

// Métodos
public String getTempRecCong() {
return tempRecCong;
}
public void setTempRecCong(String tempRecCong) {
this.tempRecCong = tempRecCong;
}
public String  toString(){
String string ="Este es un objeto ProductoCongelado, hereda de Producto; su Temperatura Recomendada de Congelación es "+getTempRecCong();
return string;
}
}


Clase TestHerencia2

Código: [Seleccionar]
package aprenderaprogramar.java.iniciacion.clase86;

import java.time.LocalDate;

public class TestHerencia2 {

public static void main(String[] args) {
Producto miProducto = new Producto();
System.out.println(miProducto);// opcion1
System.out.println(miProducto.toString());// opcion2
Producto miProducto1 = new Producto("fjsdfoaj", LocalDate.of(2018, 9 , 6));
System.out.println(miProducto1);// opcion1
System.out.println(miProducto1.toString());// opcion2
Producto miProducto2 = new ProductoFresco(LocalDate.of(2019, 8 , 10),"España");
System.out.println(miProducto2);// opcion1
System.out.println(miProducto2.toString());// opcion2
Producto miProducto3 = new ProductoRefrigerado("gksdfpgpsd");
System.out.println(miProducto3);// opcion1
System.out.println(miProducto3.toString());// opcion2
Producto miProducto4 = new ProductoCongelado("-10\u00b0C");
System.out.println(miProducto4);// opcion1
System.out.println(miProducto4.toString());// opcion2
}
}

Les agradeceré cualquier comentario

11
Hola a todos, aquí les adjunto para ejercicio CU00684B del tutorial de programador Java online mi Diagrama de Clases como imagen classesDiagram.gif .

Les agradezco sus comentarios.


12
Hola a tod@s, aquí les dejo mis respuestas al ejercicio CU00683B del manual de desarrollador Java:

Código: [Seleccionar]
package com.aprenderaprogramar.java.iniciacion.clase83;

public class Test {
    int atributo1;
    Test (int atrib) {atributo1 = 0;}
    public static void main (String[ ] Args) {
        System.out.println ("Mensaje 1");
        System.out.println ("Atributo 1 vale" + this.getAtrib1());
    } //Cierre del main
    public int getAtrib1() {return atributo1;}
} //Cierre de la clase

EJERCICIO:

¿Qué mensaje de error se obtiene?

Exception in thread "main" java.lang.Error: Unresolved compilation problem:
   Cannot use this in a static context
   at com.aprenderaprogramar.java.iniciacion.clase83.Test.main ( Test.java:8 )

¿Por qué se obtiene este mensaje de error?

Porque desde un método estático estamos llamando a un método de instancia de la
propia clase Test,de la que no se ha generado ningún objeto previo,por lo que
tampoco existe el campo declarado atributo1 que es también un atributo de
instancia de la misma clase.

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

Declarando como estáticos, tanto al método getAtrib1(), como el campo atributo1.
De esa manera no hay necesidad de crear ningún objeto previo, porque se
convierten ambos en campos y métodos de clase.

Gracias por sus comentarios.

13
Hola de nuevo, aquí les dejo el ejercicio CU00682B del manual de programación Java desde cero:


Clase TiposDePiedra:

Código: [Seleccionar]
package com.aprenderaprogramar.java.iniciacion.clase82;
/**
 * Clase tipo Enum para enumerar tipos de piedras y sus pesos específicos
 * @author camoay
 */
public enum TiposDePiedra {
CALIZA  (1200),
MARMOL  (1423.55),
PIZARRA (1325),
CUARZITA(1466.22);

// campos CONSTANTES
private final double pesoEspecifico;

// constructor
TiposDePiedra(double pesoEspecifico){
this.pesoEspecifico = pesoEspecifico;
}// end constructor

// Métodos de la clase tipo Enum
// sólo get para consultar, el tipo enum . Como conjunto de constantes, no admite
// ni añadir ni modificar campos constantes al conjunto en tiempo de ejecución.
/**
* Método que obtiene el peso específico de un tipo enum del conjunto
* @return pesoEspecifico
*/
public double getPesoEspecifico()  { return pesoEspecifico; }

}// end enum


Clase TestTiposDePiedra:

Código: [Seleccionar]
package com.aprenderaprogramar.java.iniciacion.clase82;

public class TestTiposDePiedra {
/**
* Método que muestra los pesos de un palet de cada tipo de piedra declarado en el ENUM
* @param args
*/
public static void main(String[] args) {
System.out.println ("Un palet admite 2.27 m3 de volumen.\nA continuación el peso de los palets de las distintas piedras:");
    for (TiposDePiedra tmp: TiposDePiedra.values() ) {
        System.out.println (tmp.toString() + " el palet pesa " + (2.27f*(float)tmp.getPesoEspecifico() ) + " kg");
    }// end for
}// end main method
}// end class

Muchas gracias por sus comentarios.

14
Hola todos, aqui les dejo mi ejercicio CU00681B del curso de bases de programación orientada a objetos con Java:

Clase Vehiculos:
Código: [Seleccionar]
package com.aprenderaprogramar.java.iniciacion.clase81;
/**
 * Clase que crea vehiculos con Marca y matricula
 * @author camoay
 */
public class Vehiculo {
// declaración de campos y tipos enum
enum MarcaDeVehiculo {FORD, TOYOTA, SUZUKI, RENAULT, SEAT}
String matricula;
MarcaDeVehiculo marca;

// constructores
/**
* Constructor sin parámetros
*/
Vehiculo(){ }
/**
* Constructor con 2 parámetros
* @param marca
* @param matricula
*/
Vehiculo(MarcaDeVehiculo marca, String matricula){
this.marca = marca;
this.matricula = matricula;
}
// getters and setters
public String getMatricula() {
return matricula;
}
public MarcaDeVehiculo getMarca() {
return marca;
}
public void setMatricula(String matricula) {
this.matricula = matricula;
}
public void setMarca(MarcaDeVehiculo marca) {
this.marca = marca;
}
}// end class

Clase TestVehiculo:
Código: [Seleccionar]
import com.aprenderaprogramar.java.iniciacion.clase81.Vehiculo.MarcaDeVehiculo;

public class TestVehiculo {
/**
* Método main que comprueba la creacion de Objetos Vehiculos con los 2 constructores
* @param args
*/
public static void main(String[] args) {
// EJEMPLO CON CONSTRUCTOR VACIO
Vehiculo coche1 = new Vehiculo();
coche1.setMarca(MarcaDeVehiculo.FORD);
coche1.setMatricula("2345-CSA");
System.out.println("El coche1 es de marca "+coche1.getMarca()+
   " y su matricula es "+coche1.getMatricula() );

// EJEMPLO CON CONSTRUCTOR CON PARAMETROS
Vehiculo coche2 = new Vehiculo(MarcaDeVehiculo.SUZUKI,"9876-POK");
System.out.println("El coche1 es de marca "+coche2.getMarca()+
   " y su matricula es "+coche2.getMatricula() );
}// end main method
}// end class

Muchas gracias por sus comentarios.

15
Hola, aqui les adjunto el ejercicio CU00680B del manual de programación Java desde cero:

Clase MiniCalculadoraEjemplo.java

Código: [Seleccionar]
import java.util.Scanner;
/**
 * @author camoay
 * @version 1.0.0
 * Clase con algunas funciones de calculadora (Valor Absoluto y Raiz Cuadrada)
 */
public class MiniCalculadoraEjemplo {
static double value;
static int opcion;
/**
* Programa principal que lanza la MiniCalculadora
*/
public static void main(String[] args) {
Scanner entrada = new Scanner(System.in);
System.out.println("    MiniCalculadora");
System.out.println("Introduzca un número (use el punto como separador decimal): ");
String valor = entrada.next();
value = Double.parseDouble(valor);
do{
System.out.println(" 1 . Valor Absoluto");
System.out.println(" 2 . Raiz Cuadrada");
System.out.println("Seleccione una operación (o cualquier número distinto para salir):");
//opcion = entrada.nextInt();
valor = entrada.next();
opcion = Integer.parseInt(valor);
}while(opcion < 1 && opcion > 2);

switch (opcion){
case 1:
System.out.println("El resultado es: "+valorAbsoluto());
break;
case 2:
System.out.println("El resultado es: "+raizCuadrada());
break;
default:
break;
}// end switch
}// end main method

/**
* Método estatico que calcula el valor absoluto de un número tipo 'double'
* @return ,el valor absoluto del numero dado
*/
static double valorAbsoluto(){
return Math.abs(value);
}

/**
* Método estático que calcula la raiz cuadrada de un número tipo 'double'
* @return el valor de la raiz cuadrada del número dado
*/
static double raizCuadrada(){
return Math.sqrt(value);
}
}// end class

Javadoc generado:
Código: [Seleccionar]
Package   Class  Use  Tree  Deprecated  Index  Help 
 
 PREV CLASS   NEXT CLASS FRAMES    NO FRAMES    All Classes 
SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD

--------------------------------------------------------------------------------
Class MiniCalculadoraEjemplo
java.lang.Object
  MiniCalculadoraEjemplo

--------------------------------------------------------------------------------

public class MiniCalculadoraEjemploextends java.lang.Object
Version:
1.0.0 Clase con algunas funciones de calculadora (Valor Absoluto y Raiz Cuadrada)
Author:
camoay

--------------------------------------------------------------------------------


Field Summary
(package private) static int opcion
           
(package private) static double value
           
  Constructor Summary
MiniCalculadoraEjemplo()
           
  Method Summary
static void main(java.lang.String[] args)
          Programa principal que lanza la MiniCalculadora
(package private) static double raizCuadrada()
          Método estático que calcula la raiz cuadrada de un número tipo 'double'
(package private) static double valorAbsoluto()
          Método estatico que calcula el valor absoluto de un número tipo 'double'
  Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail
value
static double value
--------------------------------------------------------------------------------
opcion
static int opcionConstructor Detail
MiniCalculadoraEjemplo
public MiniCalculadoraEjemplo()Method Detail
main
public static void main(java.lang.String[] args)Programa principal que lanza la MiniCalculadora


--------------------------------------------------------------------------------
valorAbsoluto
static double valorAbsoluto()Método estatico que calcula el valor absoluto de un número tipo 'double'

Returns:
,el valor absoluto del numero dado

--------------------------------------------------------------------------------
raizCuadrada
static double raizCuadrada()Método estático que calcula la raiz cuadrada de un número tipo 'double'

Returns:
el valor de la raiz cuadrada del número dado

--------------------------------------------------------------------------------
Package   Class  Use  Tree  Deprecated  Index  Help 
 
 PREV CLASS   NEXT CLASS FRAMES    NO FRAMES    All Classes 
SUMMARY: NESTED | FIELD | CONSTR | METHOD DETAIL: FIELD | CONSTR | METHOD


Gracias por sus comentarios.

16
Hola, aquí les dejo mi código del ejercicio CU00679B del tutorial de bases de la programación orientada a objetos con Java:

TestAsList2

Código: [Seleccionar]
package com.aprenderaprogramar.java.iniciacion.clase79;

import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;

public class TestAsList2 {
public static void main(String[] args) {
Boolean [] miArrayDeBoolean = {true, true, false, false, true, false};
List<Boolean> miListaBoolean = new LinkedList<Boolean>();
miListaBoolean = Arrays.asList(miArrayDeBoolean);
System.out.println ("Contenido actual del LinkedList: " + miListaBoolean);
}// end main method
}// end class

Muchas gracias por los comentarios.

17
Les dejo el ejercicio CU00678B del curso básico de fundamentos de programación con Java:

Clase TestInterfaceSet:

Código: [Seleccionar]
package com.aprenderaprogramar.java.iniciacion.clase78;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import java.util.TreeSet;
// ó import java.util.*;

public class TestInterfaceSet {
public static void main(String[] args) {

ArrayList<Set> miSet = new ArrayList<Set>();// creo el arrayList
// creo el HashSet y lo inicializo con 3 objetos String
HashSet<String> miHashSet = new HashSet<String>();
  miHashSet.add("sol");miHashSet.add("luna");miHashSet.add("saturno");
// creo el TreeSet y lo inicializo con 2 objetos enteros
TreeSet<Integer> miTreeSet = new TreeSet<Integer>();
miTreeSet.add(2);miTreeSet.add(8);miTreeSet.add(5);
// inicializo el arrayList con los objetos HashSet y TreeSet
miSet.add(miHashSet);miSet.add(miTreeSet);
// Defino iteradores y variables temporales(para el iterador) para cada unos de los conjuntos 
Iterator<Set> itMiSet = miSet.iterator();
//Set tmpElement;
Iterator<String> itMiHashSet = miHashSet.iterator();
String tmpString;
Iterator<Integer> itMiTreeSet = miTreeSet.descendingIterator();
Integer tmpInteger;
// inicio un bucle con iterador para visualizar cada objeto del ArrayList
while(itMiSet.hasNext()){
//tmpElement = itMiSet.next();
// inicio un bucle con iterador para visualizar cada objeto del HashSet
while(itMiHashSet.hasNext()){
// el método iterador() implementado en esta clase no garantiza el orden y de hecho lo
// ordena ascendentemente por el valor de cada string, en lugar de por el orden/posición
// dentro del HashSetlo mismo ocurre con el método toString() que da el mismo resultado:
// "luna","saturno","sol",
tmpString = itMiHashSet.next();
System.out.print("\""+tmpString+"\",");
}// end HashSet while
// inicio un bucle con iterador para visualizar cada objeto del TreeSet
while(itMiTreeSet.hasNext()){
// en esta clase TreeSet deja bien claro que existen 2 tipos de iteradores, uno ascendente
// y otro descendente (según el valor de los elementos que lo componen), por lo que se
// puede ordenar en orden descendente como pide el enunciado.
tmpInteger = itMiTreeSet.next();
System.out.print(tmpInteger+",");
}// end TreeSet while
}// end outer while
}// end main method
}// end class

Muchas gracias por sus comentarios.

18
Hola a todos les dejo mis respuestas a las preguntas de la entrega CU00677B del curso básico de programador Java:

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

ArrayList, LInkedList, Stack

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

Con la versión 6 que tengo, sólo iterator()

¿Para qué sirve este método?

 Para recorrer una colección de elementos con un bucle for... each, desde el principio
 hasta el final, sobre una copia de la colección, permitiendo con ello borrar elementos
 de la misma, si fuese necesario.

Muchas gracias a todos

19
Hola de nuevo. Les añado el código y finalmente las respuestas a las preguntas de la entrega CU00673B del curso básico de programador Java.

Clase EntradaDeTeclado:
Código: [Seleccionar]
ackage com.aprenderaprogramar.java.iniciacion.clase72;

import java.util.Scanner; //Importación de la clase Scanner desde la biblioteca Java

public class EntradaDeTeclado {  // Definimos la clase EntradaDeTeclado aprenderaprogramar.com
    private String entradaTeclado; //Variable de instancia (campo) del método
 
    //Constructor
    public EntradaDeTeclado ()  {
        entradaTeclado=""; } //Cierre del constructor
 
    public String pedirEntrada (String mensajePrevioAMostrar)  {  //Método de la clase   
    System.out.println(mensajePrevioAMostrar);
        Scanner entradaEscaner = new Scanner (System.in);
        entradaTeclado = entradaEscaner.nextLine ();
        return entradaTeclado;
    } //Cierre del método pedirEntrada
 
    public String getEntrada () {
        return entradaTeclado;
 } //Cierre del método getEntrada
} //Cierre de la clase

Clase Circulo:
Código: [Seleccionar]
package com.aprenderaprogramar.java.iniciacion.clase73;

public class Circulo {
//declaración de campos y constantes
private static final double numeroPI = 3.1416;
private double radio;

// declaración de constructores
Circulo(double aradio){this.radio = aradio; }

// declaración de metodos específicos
public double areaCirculo(){return numeroPI*radio*radio; }// calcula y devuelve el area del circulo
public double longitudCirculo(){return 2*numeroPI*radio; }// calcula y devuelve la longitud del círculo

// declaración de getters and setters
public double getRadio() {return radio; }
public void setRadio(double radio) {this.radio = radio; }
}// end class

Clase testCirculo:
Código: [Seleccionar]
package com.aprenderaprogramar.java.iniciacion.clase73;

import com.aprenderaprogramar.java.iniciacion.clase72.EntradaDeTeclado;

public class TestCirculo {
public static void main(String[] args) {
Double radio;
System.out.println("Programa calculador de Areas y longitudes de círculos");
EntradaDeTeclado entrada = new EntradaDeTeclado();
radio = Double.valueOf(entrada.pedirEntrada("Por favor, teclee el radio de un círculo:"));
Circulo circulo1 = new Circulo(radio);
System.out.println("El Area del circulo es : "+circulo1.areaCirculo());
System.out.println("La Longitud del circulo es : "+circulo1.longitudCirculo());
}// end main method
} // end class

Preguntas:
a)
Citar
¿Es posible crear un método en la clase Circulo para establecer el valor de numeroPi?
Respuesta: No
b)
Citar
¿Por qué?
Respuesta:Porque al estar definido como final se convierte en una constante y las constantes
          no se pueden modificar en tiempo de ejecución.


Gracias por sus comentarios.

20
Hola, les adjunto el ejercicio CU00667B del tutorial de programación orientada a objetos con Java:

EntradaDeTeclado:
Código: [Seleccionar]
package com.aprenderaprogramar.java.iniciacion.clase65;
import java.util.Scanner; //Importación del código de la clase Scanner desde la biblioteca Java

//Definimos una clase EntradaDeTeclado aprenderaprogramar.com
public class EntradaDeTeclado {
 private String entradaTeclado; //Variable de instancia (campo) de la clase

 public EntradaDeTeclado ()  { //Constructor
     entradaTeclado="";
     pedirEntrada(); //Esto es una llamada a un método interno. Al crear un objeto ejecutamos el método
 } //Cierre del constructor

 public void pedirEntrada ()  {  //Método de la clase         
     Scanner entradaEscaner = new Scanner (System.in);
     entradaTeclado = entradaEscaner.nextLine ();     } //Cierre del método pedirEntrada

 public String getEntrada () { return entradaTeclado; } //Cierre del método getEntrada

 public String getPrimeraPalabra ()  {
for (int i=0; i < entradaTeclado.length() - 1; i++) {
if (entradaTeclado.substring (i, i+1).equals(" ") ) {
return entradaTeclado.substring(0, i+1);         }
}
     return entradaTeclado;  //Caso de que no se detecte ningún espacio devolvemos lo que haya
 } //Cierre del método getPrimeraPalabra

 public int getLongitud ()  {  //Método de la clase
     return entradaTeclado.length();
 } //Cierre del método getLongitud
} //Cierre de la clase

CantanteFamoso:
Código: [Seleccionar]
package com.aprenderaprogramar.java.iniciacion.clase67;

public class CantanteFamoso {
String nombre;
String discoConMasVentas;

CantanteFamoso(String anombre, String adisco){
nombre = anombre;
discoConMasVentas = adisco;
}
public String getNombre() {
return nombre;
}
public String getDiscoConMasVentas() {
return discoConMasVentas;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public void setDiscoConMasVentas(String discoConMasVentas) {
this.discoConMasVentas = discoConMasVentas;
}
}// end class

ListaCantantesFamosos:
Código: [Seleccionar]
package com.aprenderaprogramar.java.iniciacion.clase67;
import java.util.ArrayList;
import java.util.Iterator;

public class ListaCantantesFamosos {
//Declaramos un ArrayList que contiene objetos CantanteFamoso
private ArrayList<CantanteFamoso> listaCantantesFamosos;

   //el constructor inicializa el ArrayList para evitar errores NullPointerException
ListaCantantesFamosos() {
   listaCantantesFamosos = new ArrayList<CantanteFamoso>();
}//end constructor
   
public void addCantante(CantanteFamoso cantante) {
   listaCantantesFamosos.add(cantante);
} //end method
   
public void ListarTodosLosCantantes(){ 
   Iterator<CantanteFamoso> iter = listaCantantesFamosos.iterator();
   System.out.println ("Los cantantes de la lista son: ");
   CantanteFamoso tmpCantante;
   while(iter.hasNext()){
  tmpCantante = iter.next();
  System.out.println(tmpCantante.getNombre()+" y su disco con mas ventas es "+ tmpCantante.getDiscoConMasVentas());
   }// end while
}//end method
} //Closing the class

Test:
Código: [Seleccionar]
package com.aprenderaprogramar.java.iniciacion.clase67;
import com.aprenderaprogramar.java.iniciacion.clase65.EntradaDeTeclado;

public class Test {
public static void main(String[] args) {
CantanteFamoso cantante1 = new CantanteFamoso("Peret","Mi carro...");
CantanteFamoso cantante2 = new CantanteFamoso("Enya", "Moonlight");
ListaCantantesFamosos lista = new ListaCantantesFamosos();
lista.addCantante(cantante1);lista.addCantante(cantante2);
lista.ListarTodosLosCantantes();
String nombre = "";
String discoMasVentas = "";
do{
System.out.println("Introduzca un nuevo nombre de cantante o pulse 'n' para salir");
EntradaDeTeclado entrada = new EntradaDeTeclado();
nombre = entrada.getEntrada();
// si no uso el condicional la "n" de salida la añadiría como nombre de cantante
// por contra, da la posibilidad de salir sin añadir un nuevo cantante
// Si realmente quieren que siempre pida un cantante nuevo, tengo que añadir mas código
// antes del Do...while
if(!(nombre.equals("n") || nombre.equals("N"))){
System.out.println("Introduzca su disco con mas ventas : ");
EntradaDeTeclado entrada1 = new EntradaDeTeclado();
discoMasVentas = entrada1.getEntrada();
CantanteFamoso cantante = new CantanteFamoso(nombre,discoMasVentas);
lista.addCantante(cantante);
lista.ListarTodosLosCantantes();
}
}while(!(nombre.equals("n") || nombre.equals("N")));
}
}

Muchas gracias por sus comentarios.

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