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

Páginas: 1 2 3 [4] 5 6 7
61
El botón enviar en el 2do formulario no funcionaba. No tenía el sitio de internet donde debía enviar los datos.  :-\
Acá va el código corregido
Código: [Seleccionar]
<!DOCTYPE html>
<html>
    <head>       
        <meta charset="utf-8">
        <title>Inscripción al Congreso de Medicina Santiago 2048</title>
    </head>
<body>
<form action="https://www.aprenderaprogramar.com" method="get">
<h1>Inscripción al Congreso de Medicina Santiago 2048</h1>
<h2> Inscripción al Congreso para médicos especialistas</h2>
<p>
<label for="nombreE">Nombre: </label>
<input type="text" name="nombreE" id="nombreE" />
<br/> <br/>
<label for="apellidoE">Apellido: </label>
<input type="text" name="apellidoE" id="apellidoE" />
<br/> <br/>
<label for="especialidad">Especialidad: </label>
<input type="text" name="especialidad" id="especialidad" />
<br/> <br/>
<label for="anioEsp">Año de obtención de la especialidad: </label>
<input type="text" name="anioEsp" id="anioEsp" />
<br/> <br/>
<input type="submit" value="Enviar" />
<input type="reset" />
</p>
</form>
<form action="https://www.aprenderaprogramar.com" method="get">
<h2> Inscripción al Congreso para médicos generalistas</h2>
<p>
<label for="nombreG">Nombre: </label>
<input type="text" name="nombreG" id="nombreG" />
<br/> <br/>
<label for="apellidoG">Apellido: </label>
<input type="text" name="apellidoG" id="apellidoG" />
<br/> <br/>
<label for="centroMedG">Centro Médico laboral: </label>
<input type="text" name="centroMedG" id="centroMedG">
<br/> <br/>
<label for="anioTituloG">Año de obtención del título: </label>
<input type="text" name="anioTituloG" id="anioTituloG" />
<br/> <br/>
<input type="submit" value="Enviar" />
<input type="reset" />
</p>
</form>
</body>
</html>

62
Hola a todos !! Paso a dejar el código de etiquetas HTML que se propone en el ejercicio CU00724B del curso básico de programador web. Desde ya muchas gracias. Saludos
Luis

EJERCICIO

Crea una página web que contenga dos formularios que cumplan estas condiciones.

Como título antes del primer formulario debe figurar con etiquetas h1 el texto <<Inscripción al concurso Saber y Ganar>>. Debe contener:
a) Nombre
b) Apellidos
c) email
d) Teléfono
e) Un botón submit para enviar que muestre el texto <<¡¡¡Me apunto!!!>> y un botón reset para restablecer que muestre el texto <<Cancelar>>.

Como título antes del segundo formulario debe figurar con etiquetas h1 el texto “Petición de información”. Debe contener:
a) Nombre
b) País
c) email
d) Consulta que se quiere realizar (debe ser un textarea que permita escribir múltiples líneas).
e) Un botón para enviar de tipo imagen y un botón para restablecer de tipo button que muestre dentro del botón lo siguiente: <<Pulse aquí para cancelar>>, un salto de línea, y el texto <<Esto borrará los datos>>.

Código: [Seleccionar]
<!DOCTYPE html>
<html>
    <head>       
        <meta charset="utf-8">
        <title>Inscripción al Congreso de Medicina Santiago 2048</title>
    </head>
<body>
<form action="https://www.aprenderaprogramar.com" method="get">
<h1>Inscripción al concurso Saber y Ganar</h1>
<p>
<label for="nombre1">Nombre: </label>
<input type="text" name="nombre1" id="nombre1" />
<br/>
<label for="apellido">Apellido: </label>
<input type="text" name="apellido" id="apellido" />
<br/>
<label for="email1">email: </label>
<input type="text" name="email1" id="email1" />
<br/>
<label for="telefono">Teléfono: </label>
<input type="text" name="telefono" id="telefono" />
<br/> <br/>
<input type="submit" value="¡¡¡Me apunto!!!" />
<input type="reset" value="Cancelar" />
</p>
</form>
<form action="https://www.aprenderaprogramar.com" method="get">
<h1>Petición de información</h1>
<p>
<label for="nombre2">Nombre: </label>
<input type="text" name="nombre2" id="nombre2" />
<br/>
<label for="pais">Pais: </label>
<input type="text" name="pais" id="pais" />
<br/>
<label for="email2">email: </label>
<input type="text" name="email2" id="email2" />
<br/>
<textarea name="consulta" rows="3" cols="40">...Consulta que se quiere realizar...</textarea>
<br/>
 <input name="boton" type="image"
  src="/images/aprenderaprogramar/imagen.png">
<br/> <br/>
<input type="reset" value="Pulse aquí para cancelar" />
<br/>
Esto borrará los datos
</p>
</form>
</body>
</html>

63
Hola a todos !! Paso a dejar el codigo de los dos ejercicios propuestos en la entrega CU00903C del tutorial avanzado de programación Java. Desde ya muchas gracias. Saludos
Luis

EJERCICIO 1

Crea un array numérico con 5 elementos. Los números de cada elemento deben ser valores pedidos por teclado al usuario. Muestra por consola el índice y el valor al que corresponde. Debes utiliza bucles tanto para pedir los valores de los elementos del array como para mostrar su contenido por pantalla.

Ejemplo: Introducimos los valores 2, 4, 5, 8 y 10 .Lo que se tiene que mostrar por consola  sería:
En el indice 0 esta el valor 2
En el indice 1 esta el valor 4
En el indice 2 esta el valor 5
En el indice 3 esta el valor 8
En el indice 4 esta el valor 10

Clase TestNumeros (main)

Código: [Seleccionar]
public class TestNumeros {
    public static void main (String [ ] args) {
        int i = 0;
        int nro = 0;
        System.out.println("Por favor, ingrese 5 números enteros ");   
        ListaDeNumeros lista = new ListaDeNumeros("Ejercicio 1");
        EntradaDeTeclado entrada=new EntradaDeTeclado();
        do {
            System.out.println ("Por favor introduzca un número en array["+i+"]");
            entrada.pedirEntrada();
            nro=Integer.parseInt(entrada.getEntrada());
            lista.addLista(nro); i++;
        }
        while (i<5);

        for (i=0; i<5; i++)
        {
            System.out.println ("En el índice "+i+" esta el valor "+lista.getNro(i));
        }
    }//Cierre del main
}


Clase ListaDeNumeros

Código: [Seleccionar]
import java.util.*;
public class ListaDeNumeros {
    private String nombreDeLaLista; //Establecemos un atributo nombre de la lista
    private ArrayList<Integer> listaDeNumeros; //Declaramos un ArrayList que contiene objetos Integer
    public ListaDeNumeros (String nombre) {    //Constructor: crea una lista de nombres vacía
        nombreDeLaLista = nombre;
        listaDeNumeros = new ArrayList<Integer>(); //Creamos el objeto de tipo ArrayList
    } //Cierre del constructor

    public void addLista(int nro) {
        listaDeNumeros.add(nro);
    } //Cierre del método

    public int getNro(int posicion) {
    int nro = listaDeNumeros.get(posicion);
    return nro;
    }
} //Cierre de la clase


y la clase para entrar datos por consola común a los dos ejercicios

Código: [Seleccionar]
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(" ") ) {     //IMPORTANTÍSIMO: COMPARAMOS CON 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


EJERCICIO 2

Crea un programa en el que se pida por consola el nombre de 2 alumnos y la nota de cada uno de ellos como valor numérico. El resultado que debe mostrarse es el nombre de cada alumno, su nota y su calificacion como texto (Sobresaliente, Notable, Bien o Suspenso).

Para ello crea un array numérico y otro de String (ambos unidimensionales). En el array numérico se insertarán las calificaciones facilitadas por el usuario entre 0 y 10 (debemos controlar que inserte una nota valida), pudiendo ser decimal. En el array de Strings se insertarán los nombres de los alumnos.

Crea también un array de String donde insertaremos el resultado de la nota con palabras admitiéndose estos valores: Sobresaliente, Notable, Bien o Suspenso.

El programa debe comprobar la nota de cada alumno teniendo en cuenta esta equivalencia:

Si la nota está entre 0 y 4,99 será un Suspenso.
Si la nota está entre 5 y 6,99 será un Bien.
Si la nota está entre 7 y 8,99 será un Notable.
Si la nota está entre 9 y 10 será un Sobresaliente.

Muestra por pantalla, el alumno su nota y su resultado en palabras utilizando bucles. Crea los métodos que creas convenientes.

Código: [Seleccionar]
// Aquí el test con el método main ejemplo aprenderaprogramar.com
public class TestAlumnos {
    public static void main (String [ ] args) {
        String nombreAlumno = "";
        int i = 0;
        float puntuacion = 0f;
        String strPuntuacion="";
        boolean puntuacionValida=false;
        ListaAlumnos lista = new ListaAlumnos("Ejercicio 2");
        System.out.println("Se ingresaran los datos del examen de 2 alumnos"); 
        do {
            System.out.println("Por favor, ingrese nombre y apellido del alumno");   
            EntradaDeTeclado entrada = new EntradaDeTeclado();
            entrada.pedirEntrada();
            nombreAlumno = entrada.getEntrada();
            do{
                System.out.println("Por favor, ingrese el puntaje obtenido (de 0 a 10)");   
                entrada.pedirEntrada();
                strPuntuacion=entrada.getEntrada();
                if (strPuntuacion.equals("")) {puntuacion=0f;} else {
                    puntuacion = Float.parseFloat(strPuntuacion);
                }
            }
            while(puntuacion<0||puntuacion>10);
            lista.addNombre(nombreAlumno);
            lista.addPuntuacion(puntuacion);
            i++;
        }       
        while (i<2);
        System.out.println("Datos de los examenes cargados"); 
        for (i=0;i<2;i++){
           System.out.println("Alumno: "+lista.getNombre(i)+" tuvo una nota de "+lista.getNota(i)+" equivale a "+lista.getCalificacion(i));
        }

    }
}


Lista de datos de los exámenes

Código: [Seleccionar]
//Ejemplo de uso ArrayList aprenderaprogramar.com
import java.util.*; //Los import deben ir siempre al principio antes de declarar la clase
//Esta clase representa una lista de nombres manejada con la clase ArrayList de Java
public class ListaAlumnos {
    private String nombreDeLaLista; //Establecemos un atributo nombre de la lista
    private ArrayList<String> listaNombres; //Declaramos un ArrayList que contiene los nombres de los alumnos
    private ArrayList<Float> listaNotas; //Declaramos un ArrayList que contiene las puntuaciones de los alumnos
    private ArrayList<String> listaCalificaciones; //Declaramos un ArrayList que contiene las puntuaciones de los alumnos
    private String calificacion;
    public ListaAlumnos (String nombre) {    //Constructor: crea una lista de nombres vacía
        nombreDeLaLista = nombre;
        listaNombres = new ArrayList<String>(); //Creamos el objeto de tipo ArrayList
        listaNotas = new ArrayList<Float>(); //Creamos el objeto de tipo ArrayList
        listaCalificaciones = new ArrayList<String>(); //Creamos el objeto de tipo ArrayList
    } //Cierre del constructor

    public void addNombre(String nombreAlumno) {
        listaNombres.add(nombreAlumno);
    } //Cierre del método
    public void addPuntuacion(float puntuacion) {
        setCalificacion(puntuacion);
        listaNotas.add(puntuacion);
        listaCalificaciones.add(calificacion);
    } //Cierre del método
   
    public void setCalificacion(float puntuacion){
        if (puntuacion>=0&&puntuacion<5) {calificacion="Suspenso";} else
           if (puntuacion>=5&&puntuacion<7) {calificacion="Bien";} else
              if (puntuacion>=7&&puntuacion<9) {calificacion="Notable";} else
                    if (puntuacion>=9&&puntuacion<=10) {calificacion="Sobresaliente";}
    }
   
    public String getNombre(int posicion){
        return listaNombres.get(posicion);
    }
    public float getNota(int posicion){
        return listaNotas.get(posicion);
    }
    public String getCalificacion(int posicion){
        return listaCalificaciones.get(posicion);
    }

} //Cierre de la clase

64
El punto a) no estaba bien resuelto el título. Ahora dejo el código corregido.
Código: [Seleccionar]
<!DOCTYPE html>
<html>
    <head>       
        <meta charset="utf-8">
        <title>Inscripción al Congreso de Medicina Santiago 2048</title>
    </head>
<body>
<form action="https://www.aprenderaprogramar.com" method="get">
<h1>Inscripción al Congreso de Medicina Santiago 2048</h1>
<h2> Inscripción al Congreso para médicos especialistas</h2>
<p>
<label for="nombreE">Nombre: </label>
<input type="text" name="nombreE" id="nombreE" />
<br/> <br/>
<label for="apellidoE">Apellido: </label>
<input type="text" name="apellidoE" id="apellidoE" />
<br/> <br/>
<label for="especialidad">Especialidad: </label>
<input type="text" name="especialidad" id="especialidad" />
<br/> <br/>
<label for="anioEsp">Año de obtención de la especialidad: </label>
<input type="text" name="anioEsp" id="anioEsp" />
<br/> <br/>
<input type="submit" value="Enviar" />
<input type="reset" />
</p>
</form>
<form>
<h2> Inscripción al Congreso para médicos generalistas</h2>
<p>
<label for="nombreG">Nombre: </label>
<input type="text" name="nombreG" id="nombreG" />
<br/> <br/>
<label for="apellidoG">Apellido: </label>
<input type="text" name="apellidoG" id="apellidoG" />
<br/> <br/>
<label for="centroMedG">Centro Médico laboral: </label>
<input type="text" name="centroMedG" id="centroMedG">
<br/> <br/>
<label for="anioTituloG">Año de obtención del título: </label>
<input type="text" name="anioTituloG" id="anioTituloG" />
<br/> <br/>
<input type="submit" value="Enviar" />
<input type="reset" />
</p>
</form>
</body>
</html>

65
Hola a todos !! Paso a dejar el código en HTML del ejercicio propuesto CU00723B del curso básico de programación HTML. Desde ya muchas gracias. Saludos,
Luis

EJERCICIO
Crea una página web que contenga un formulario que cumpla estas condiciones. Como título principal de la página debe figurar con etiquetas h1 el texto “Preferencias musicales”. Debe contener tres checkbox que permitan elegir tipos de música favoritas entre Rock, Pop y Jazz. Seguidamente mediante radio buttons se debe pedir la edad ofreciendo estas opciones: de 12 a 17 años, de 18 a 35 años, de 36 a 65 años y más de 65. Finalmente, se deben poder elegir “grupos y cantantes que te gustan” permitiéndose la selección múltiple y ofreciendo un optgroup denominado Rock con tres nombres de grupos o cantantes, otro optgroup denominado Pop con tres nombres de grupos o cantantes y otro optgroup denominado Jazz con tres nombres de grupos o cantantes.

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Preferencias musicales</title>
</head>
<body>
<form method="get" action="http://aprenderaprogramar.com/action.php">
<h1>PREFERENCIAS MUSICALES</h1>
 Selecciona tu música preferida:
 <br />
<input name="cbirock" type="checkbox" />Rock
<br />
<input name="cbipop" type="checkbox" />Pop
<br />
<input name="cbijazz" type="checkbox" />Jazz
<br /><br /><br />
 Selecciona tu rango de edad:
 <br />
<input name="edad" type="radio" value="rbi12a17" />De 12 a 17 años
<br />
<input name="edad" type="radio" value="rbi18a35" />De 18 a 35 años
<br />
<input name="edad" type="radio" value="rbi36a65" />De 36 a 65 años
<br />
<input name="edad" type="radio" value="rbimas65" />Más 65 años
<br /><br /><br />
 Elije tantas opciones como quieras, como con casillas de verificación (manteniendo presionada la tecla "Ctrl"):
 <br />
<select name="entradalista[]" multiple="multiple">
<optgroup label="Cantantes de Rock">
<option>Cantante de Rock 1</option>
<option>Cantante de Rock 2</option>
<option>Cantante de Rock 3</option>
</optgroup>
<optgroup label="Cantantes Pop">
<option>Cantante Pop 1</option>
<option>Cantante Pop 2</option>
<option>Cantante Pop 3</option>
</optgroup>
<optgroup label="Cantantes de Jazz">
<option>Cantante de Jazz 1</option>
<option>Cantante de Jazz 2</option>
<option>Cantante de Jazz 3</option>
</optgroup>
</select>
<br/> <br/>
<input type="submit" value="Enviar" />
</form>
</body>
</html>

66
Hola oliverprada, No son variables o atributos de la clase, son parámetros de un procedimiento. Los atributos de la clase deben ser inicializados en el constructor. Los parametros, no.
El código que pego a continuación lo genera el BlueJ cuando creas una clase nueva. Fijate que "y" es un parámetro de un método y no es inicializado, pero "x" es un atributo o variable de la clase y se inicializa en el contructor.
Un saludo,
Luis
PD: el código que pusiste en tu respuesta si es a modo de ejemplo, vale. Si es respuesta de otro ejercicio, copialo en un  posteo nuevo con el asunto correspondiente.
Código: [Seleccionar]
/**
 * Write a description of class Prueba here.
 *
 * @author (your name)
 * @version (a version number or a date)
 */
public class Prueba
{
    // instance variables - replace the example below with your own
    private int x;

    /**
     * Constructor for objects of class Prueba
     */
    public Prueba()
    {
        // initialise instance variables
        x = 0;
    }

    /**
     * An example of a method - replace this comment with your own
     *
     * @param  y  a sample parameter for a method
     * @return    the sum of x and y
     */
    public int sampleMethod(int y)
    {
        // put your code here
        return x + y;
    }
}

67
Hola oliverprada, paso a indicarte algunos errores que encontré en tu código. Te aclaro que mis indicaciones son para que pueda ser compilado con el BlueJ que te recomiendo usar para ir probando tus respuestas.
1) Las fuciones y procedimientos están dentro del constructor. Deben estar aparte. En el constructor se inicializan los atributos de la clase. Probablemente fue un error de cierre con las llaves.
2) Un método get (función) lleva return con el valor devuelto y no se coloca código entre los paréntesis. (tu ejemplo 1)
3) Los métodos setters son procedimientos. Es incorrecta tu respuesta en tu ejemplo 4
El resto está bien.

Te pongo el código tuyo modificado:
Código: [Seleccionar]
public class DiscoMusical1 {
    public float duracionCancion;
    public float duracionDisco;

    public DiscoMusical1(){
        duracionCancion = 0;
        duracionDisco = 0;
    }
        public float getDuracionCancion (){
            return duracionCancion;
    }//Funcion

        public void setSaludoySolicitudDuracionCancion (){
    }//Procedimiento

        public float getDuracionTodasLasCanciones (){
            return duracionDisco;
    }//Funcion

        public void setNuevaCancion (String tituloNuevaCancion, float DuracionNuevaCancion ){
    }//Procedimiento

}
Saludos,
Luis

68
Hola a todos !!! Paso a responder la pregunta y dejar el código del ejercicio. Desde ya muchas gracias.
Saludos,
Luis

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

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

Rta: La clase Polideportivo implementa dos interfaces: InstalacionDeportiva y Edificio

Interface InstalacionDeportiva
Código: [Seleccionar]
/**
 * Write a description of interface InstalacionDeportiva here.
 *
 * @author Luis
 * @version CU00697B
 */
public interface InstalacionDeportiva
{
     int getTipoDeInstalacion();
}
Interface Edificio
Código: [Seleccionar]
/**
 * Write a description of interface Edificio here.
 *
 * @author Luis
 * @version CU00697B
 */
public interface Edificio
{
     double getSuperficieEdificio();
     String toString();
}
Clase Polideportivo
Código: [Seleccionar]
/**
 * Write a description of class Polideportivo here.
 *
 * @author Luis
 * @version CU00697B
 */
public class Polideportivo implements Edificio, InstalacionDeportiva
{
    // instance variables - replace the example below with your own
    private int tipoDeInstalacion;
    private double superficie;
    private String nombreEstadio;
    private int cantidadOficinas;

    /**
     * Constructor for objects of class Polideportivo
     */
    public Polideportivo(int tipoDeInstalacion, double superficie, String nombreEstadio)
    {
        // initialise instance variables
        this.tipoDeInstalacion = tipoDeInstalacion;
        this.superficie = superficie;
        this.nombreEstadio = nombreEstadio;
    }
    public Polideportivo()
    {
        // initialise instance variables
        tipoDeInstalacion = 0;
        superficie = 0;
        nombreEstadio = "";
    }

    /**
     * @param  y  a sample parameter for a method
     * @return    the sum of x and y
     */
    public int getTipoDeInstalacion()
    {
        return tipoDeInstalacion;
    }
    public double getSuperficieEdificio()
    {
        return superficie;
    }
    public String toString(){
    return "Polideportivo "+nombreEstadio+" del tipo "+tipoDeInstalacion+" y cuya superficie es "+superficie+" m2";
    }
}
Clase EdificioOficinas
Código: [Seleccionar]
/**
 * Write a description of class Polideportivo here.
 *
 * @author Luis
 * @version CU00697B
 */
public class EdificioOficinas implements Edificio
{
    // instance variables - replace the example below with your own
    private double superficie;
    private int cantidadOficinas;

    /**
     * Constructor for objects of class Polideportivo
     */
    public EdificioOficinas(double superficie, int cantidadOficinas)
    {
        // initialise instance variables
        this.superficie = superficie;
        this.cantidadOficinas = cantidadOficinas;
    }
    public EdificioOficinas()
    {
        // initialise instance variables
        superficie = 0;
        cantidadOficinas = 0;
    }

    public double getSuperficieEdificio()
    {
        return superficie;
    }
    public String toString(){
        return "Edificio de "+cantidadOficinas+" oficinas y cuya superficie es "+superficie+" m2";
    }
}
Clase Test (main)
Código: [Seleccionar]
import java.util.Iterator;
import java.util.ArrayList;

public class Test {
   
    public static void main (String [] args) {
        ArrayList<Edificio> listaEdificios = new ArrayList<Edificio>();
        Polideportivo p1 = new Polideportivo(1, 8000, "Colosseum Arena");
        listaEdificios.add(p1);
        Polideportivo p2 = new Polideportivo(2, 6500, "Polideportivo Nacional");
        listaEdificios.add(p2);
        Polideportivo p3 = new Polideportivo(3, 5450, "Stadium Luna Park");
        listaEdificios.add(p3);
        EdificioOficinas e1 = new EdificioOficinas(1000, 40);
        listaEdificios.add(e1);       
        EdificioOficinas e2 = new EdificioOficinas(500, 20);
        listaEdificios.add(e2);
        Iterator<Edificio> edificio = listaEdificios.iterator();
        Edificio tmp;
        while (edificio.hasNext()) {
            tmp = edificio.next();
            System.out.println(tmp.toString());
        }
    }
}

69
Hola a todos !!! Paso a dejar las respuestas del ejercicio CU00696B del curso básico de programación Java en pdf. Desde ya muchas gracias por la atención.
Saludos,
Luis

EJERCICIO

Responde a las siguientes preguntas:

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

Rta: No, Java no permite herencia múltiple.

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

No, todo método es abstracto y público sin necesidad de declararlo. Al ser abstracto no tiene cuerpo.

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

No, los métodos tienen que estar vacíos(sin cuerpo) por ser abstractos.


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


Si, si se hace con 2 o más interfaces es lo que llamamos herencia múltiple en 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 (salvo que la clase herede de otra clase que SI implemente 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.

Para estas dos preguntas prefiero usar un muy buen ejemplo de Mario Rancel:

Sí se puede crear un objeto del tipo definido por una interface (como tipo estático).

Por ejemplo List <String> lista1 = new ArrayList<String> lista1 ();

List es una interface y ArrayList una clase concreta. El objeto es al mismo tiempo de tipo List y tipo ArrayList (polimorfismo).

El objeto no podrá ser de un tipo que no implemente la interface que es su tipo estático porque supondría una contradicción en la declaración de tipos. Ejemplo list1=new List<String>(); porque List es una interface

Sí puede ser del tipo definido por una interface y de una clase que implemente la interface como en el ejemplo List - ArrayList


70
Hola a todos !! Paso a dejar el código del ejercicio CU00695B del tutorial de programación Java e pdf. Desde ya muchas gracias. Saludos

Luis

EJERCICIO

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

Clase Test -main-

Código: [Seleccionar]
public class Test {
    public static void main (String [ ] Args) {
        Diputado d1 = new Diputado("José Pablo", "Hernández López", 45, "Provincia del Norte", 125.30f, "Partido Liberal");
        Diputado d2 = new Diputado("Andrés Hugo", "Moltó Parra", 67, "Provincia del Sur", 134.25f, "Partido Socialista");
        Diputado d3 = new Diputado ("José Luis", "Ríos Mesa", 56, "Provincia del Centro", 99.87f, "Partido Democrata");
        Senador s1 = new Senador ("Juan José", "Pérez", 40, "Provincia del Oeste", 102.42f, "Asuntos Constitucionales");
        Senador s2 = new Senador ("Alberto Raúl", "Centa", 49, "Provincia del Este",112.20f, "Presupuesto y Hacienda");
        Senador s3 = new Senador ("Roberto José", "Mota", 44, "Provincia del Centro", 111.20f, "Educacion");
        ListinLegisladores listinLegislador = new ListinLegisladores ();
        listinLegislador.addLegislador (d1);
        listinLegislador.addLegislador (d2);
        listinLegislador.addLegislador (d3);
        listinLegislador.addLegislador (s1);
        listinLegislador.addLegislador (s2);
        listinLegislador.addLegislador (s3);
        listinLegislador.imprimirListin();
        System.out.println ("El importe de las dietas del Congreso que consta en el listín es " +
        listinLegislador.importeTotalDietaLegislador()+ " pesos");
    }  }   //Cierre del main y cierre de la clase

Clase Persona

Código: [Seleccionar]
public class Persona { //Código de la clase Persona ejemplo aprenderaprogramar.com
private String nombre;
private String apellidos;
private int edad;
public Persona() {
    nombre = "";
    apellidos = "";
    edad = 0; }
public Persona (String nombre, String apellidos, int edad) {
    this.nombre = nombre;
    this.apellidos = apellidos;
    this.edad = edad; }
public String getNombre() { return nombre;  }
public String getApellidos() { return apellidos;  }
public int getEdad() { return edad;  }
public String toString() { Integer datoEdad = edad;
return "Nombres: ".concat(nombre).concat(" - Apellidos: ").concat(apellidos).concat(" - Edad: ").concat(datoEdad.toString() ); } 
} //Cierre de la clase

Clase abstracta Legislador

Código: [Seleccionar]
public abstract class Legislador extends Persona {
    String provinciaQueRepresenta;
    float dieta=0;
    public Legislador () { super();
        provinciaQueRepresenta = ""; }
    public Legislador (String nombre, String apellidos, int edad, String provinciaQueRepresenta, float dieta ) {
        super(nombre, apellidos, edad);
        this.dieta=dieta;
        this.provinciaQueRepresenta = provinciaQueRepresenta; }
    // Métodos
    public void setProvinciaQueRepresenta (String provinciaQueRepresenta) {
        this.provinciaQueRepresenta = provinciaQueRepresenta; }
    public String getProvinciaQueRepresenta () { return provinciaQueRepresenta; }
    public float getDieta () { return dieta; }
    public String toString () { return super.toString().concat(" - Provincia: ").concat(provinciaQueRepresenta).concat(" - Dieta(unid): ").concat(String.valueOf(dieta)); }
    abstract public String getCamaraEnQueTrabaja(); // Método abstracto
    abstract public float dietaLegislador ();  // Método abstracto
    abstract public String datosLegislador(); // Método abstracto
} //Cierre de la clase

Clase Diputado

Código: [Seleccionar]
public class Diputado extends Legislador {
       String bloquePolitico = "";
       String camaraLegislativa = "Cámara de Diputados";
        // Constructor ejemplo aprenderaprogramar.com
        public Diputado(String nombre, String apellidos, int edad, String provinciaQueRepresenta, float dieta, String bloquePolitico) {
         super(nombre, apellidos, edad, provinciaQueRepresenta, dieta);
         this.bloquePolitico = bloquePolitico;}
        public String getBloquePolitico(){ return bloquePolitico;}
        public String getCamaraEnQueTrabaja(){ return camaraLegislativa;}
        public float dietaLegislador () { return TipoDeLegislador.DIPUTADO.getDietaBasica() * dieta; }  //Método abstracto sobreescrito en esta clase
        public String datosLegislador() { return bloquePolitico;}
} //Cierre de la clase

Clase Senador

Código: [Seleccionar]
public class Senador extends Legislador {
    String comisionParlamentaria="";
    String camaraLegislativa = "Cámara de Senadores";
    // Constructores
    public Senador (String nombre, String apellidos, int edad, String provinciaQueRepresenta, float dieta, String comisionParlamentaria) {
        super(nombre, apellidos, edad, provinciaQueRepresenta, dieta);
        this.comisionParlamentaria=comisionParlamentaria;}
    public String getComisionParlamentaria(){ return comisionParlamentaria;}
    public String getCamaraEnQueTrabaja(){ return camaraLegislativa;}
    public float dietaLegislador () { return TipoDeLegislador.SENADOR.getDietaBasica() * dieta ; } //Método abstracto sobreescrito en esta clase
    public String datosLegislador() { return comisionParlamentaria;}
} //Cierre de la clase

Clase ListinLegisladores

Código: [Seleccionar]
import java.util.ArrayList; import java.util.Iterator;
public class ListinLegisladores {
    private ArrayList <Legislador> listinLegisladores; //Campo de la clase 
    public ListinLegisladores () {  listinLegisladores = new ArrayList <Legislador> ();  } //Constructor
    public void addLegislador (Legislador legislador) {  listinLegisladores.add(legislador);  } //Método
    public void imprimirListin() {  //Método
        String tmpStr1 = ""; //String temporal que usamos como auxiliar
        String tmpStr2 = ""; //String temporal que usamos como auxiliar
        System.out.println ("Se procede a mostrar los datos de los Legisladores existentes en el listín \n");
        for (Legislador tmp: listinLegisladores) { System.out.println (tmp.toString () );
        if (tmp instanceof Diputado) { tmpStr1 = "Diputado"; tmpStr2="Bloque Politico: ";} else { tmpStr1 = "Senador"; tmpStr2="Comision Parlamentaria: "; }
        System.out.println("Lugar de Trabajo :"+(tmp.getCamaraEnQueTrabaja())+" - "+tmpStr2+(tmp.datosLegislador())+" - Tipo de legislador: "+tmpStr1+" - Dieta del legislador: "+(tmp.dietaLegislador())+"\n");}
    } //Cierre método imprimirListin
    public float importeTotalDietaLegislador() {
        float importeTotal = 0f; //Variable temporal que usamos como auxiliar
        Iterator<Legislador> it = listinLegisladores.iterator();
        while (it.hasNext() ) { importeTotal = importeTotal + it.next().dietaLegislador(); }
        return importeTotal;         
    } //Cierre del método importeTotalNominaProfesorado
} //Cierre de la clase ejemplo aprenderaprogramar.com

y mi infaltable clase enum   ;D

Código: [Seleccionar]
/**
 * Enumeration class DietaBasica - write a description of the enum class here
 *
 * @author (your name here)
 * @version (version number or date here)
 */
public enum TipoDeLegislador
{
    DIPUTADO(30f), SENADOR(40f);
    private final float dietaBasica;
    TipoDeLegislador(float dietaBasica){
        this.dietaBasica=dietaBasica;
    }
    public float getDietaBasica(){
    return dietaBasica;
    }
}

71
Clase ProductoCongeladoPorAgua
Código: [Seleccionar]
import java.util.Calendar;
/**
 * Write a description of class ProductoCongeladoPorAgua here.
 *
 * @author Luis
 * @version CU00687B
 */
public class ProductoCongeladoPorAgua extends ProductoCongelado {
    int salinidadAgua;
    public ProductoCongeladoPorAgua() {
        salinidadAgua=0;
    }
    public ProductoCongeladoPorAgua(String nomProd, int lote, String xPais, Calendar fechaEnvasado, Calendar fechaCaducidad, double temperaturaMantenimiento, int salinidadAgua ) {
       super(nomProd, lote, xPais, fechaEnvasado, fechaCaducidad, temperaturaMantenimiento);
        this.salinidadAgua=salinidadAgua;
    }
    /**
    * @param salinidadAgua Salinidad del agua 
    */
    public void setSalinidadAgua(int salinidadAgua){
       this.salinidadAgua=salinidadAgua;
    }
    /**
    * @return la salinidad del agua (int)
    */
    public int getSalinidadAgua(){
       return salinidadAgua;
    }
    public void listaProductoCongeladoPorAgua(){
        super.listaProductoCongelado();
        System.out.println("Salinidad del agua: "+salinidadAgua);
    }

}
Clase ProductoCongeladoPorNitrogeno
Código: [Seleccionar]
import java.util.Calendar;
/**
 * Write a description of class ProductoCongeladoPorNitrogeno here.
 *
 * @author Luis
 * @version CU00687B
 */
public class ProductoCongeladoPorNitrogeno extends ProductoCongelado {
    int tiempoExposicion;
    String metodoEmpleado;
    public ProductoCongeladoPorNitrogeno() {
    tiempoExposicion=0;
    metodoEmpleado="";
    }
    public ProductoCongeladoPorNitrogeno(String nomProd, int lote, String xPais, Calendar fechaEnvasado, Calendar fechaCaducidad, double temperaturaMantenimiento, int tiempoExposicion, String metodoEmpleado) {
       super(nomProd, lote, xPais, fechaEnvasado, fechaCaducidad, temperaturaMantenimiento);
       this.tiempoExposicion=tiempoExposicion;
       this.metodoEmpleado=metodoEmpleado;               
    }
    /**
    * @param tiempoExposicion El tiempo de exposicion
    */
    public void setTiempoExposicion(int tiempoExposicion){
       this.tiempoExposicion=tiempoExposicion;
    }
    /**
    * @param metodoEmpleado El método usado para congelar por Nitrogeno
    */
    public void setMetodoEmpleado(String metodoEmpleado){
       this.metodoEmpleado=metodoEmpleado;
    }
   /**
    * @return El tiempo de exposición  (int)
    */
    public int getTiempoExposicion(){
       return tiempoExposicion;
    }
       /**
    * @return El metodo empleado  (String)
    */
    public String getMetodoEmpleado(){
       return metodoEmpleado;
    }
    public void listaProductoCongeladoPorNitrogeno(){
        super.listaProductoCongelado();
        System.out.println("Tiempo de exposición: "+tiempoExposicion);
        System.out.println("Método empleado: "+metodoEmpleado);
    }
}
Clases enum
Código: [Seleccionar]
/**
 * Enumeration class TipoDeProducto - write a description of the enum class here
 *
 * @author (your name here)
 * @version (version number or date here)
 */
public enum TipoDeProducto
{
    FRESCO(7),REFRIGERADO(15),CONGELADO(90);
    private final int plazoDuracion;
    TipoDeProducto(int plazoDuracion){
        this.plazoDuracion=plazoDuracion;
    }
    public int getPlazoDuracion(){
        return plazoDuracion;
    }
}
Código: [Seleccionar]
/**
 * Enumeration class TipoDeCongelado - write a description of the enum class here
 *
 * @author (your name here)
 * @version (version number or date here)
 */
public enum TipoDeCongelado
{
    AGUA(-3.5), AIRE(-7.1), NITROGENO(-12.8);
    private final double temperaturaCongelado;
    TipoDeCongelado(double temperaturaCongelado){
        this.temperaturaCongelado=temperaturaCongelado;
    }
    public double getTemperaturaCongelado(){
    return temperaturaCongelado;
    }
}
Clase FechasProducto
Código: [Seleccionar]
import java.util.Calendar;
/**
 * Write a description of class Fecha here.
 *
 * @author (your name)
 * @version (a version number or a date)
 */
public class FechasProducto
{
    // instance variables - replace the example below with your own
    Calendar fechaEnvasado;
    Calendar fechaCaducidad;
    int dia;
    int mes;
    int anio;
    /**
     * Constructor for objects of class Fecha
     */
    public FechasProducto(){
    }
    public FechasProducto(Calendar fechaEnvasado, Calendar fechaCaducidad){
        this.fechaEnvasado=fechaEnvasado;
        this.fechaCaducidad=fechaCaducidad;
    }
    public void setFechaEnvasado(int dia, int mes, int anio){
        fechaEnvasado=Calendar.getInstance();
        fechaEnvasado.set(Calendar.DAY_OF_MONTH, dia);
        fechaEnvasado.set(Calendar.MONTH, mes-1);
        fechaEnvasado.set(Calendar.YEAR, anio);

        fechaCaducidad=Calendar.getInstance();
        fechaCaducidad.set(Calendar.DAY_OF_MONTH, dia);
        fechaCaducidad.set(Calendar.MONTH, mes-1);
        fechaCaducidad.set(Calendar.YEAR, anio); }
    public String getStrFechaEnvasado(){   
        dia=fechaEnvasado.get(Calendar.DAY_OF_MONTH);
        mes=fechaEnvasado.get(Calendar.MONTH)+1;
        anio=fechaEnvasado.get(Calendar.YEAR);
        String strFechaEnvasado=dia+"/"+mes+"/"+anio;
        return strFechaEnvasado;
    }
    public Calendar getFechaEnvasado(){
        return fechaEnvasado;}
    public Calendar getFechaCaducidad(){
        return fechaCaducidad;}
    public String getStrFechaCaducidad(){   
        dia=fechaCaducidad.get(Calendar.DAY_OF_MONTH);
        mes=fechaCaducidad.get(Calendar.MONTH)+1;
        anio=fechaCaducidad.get(Calendar.YEAR);
        String strFechaCaducidad=dia+"/"+mes+"/"+anio;
        return strFechaCaducidad;
    }
}

72
Hola Alex !! Primero quiero agradecerte por tu tiempo en la corrección que por cierto fue bastante benévola conmigo :). Desde ya, muchisimas gracias por todo.
Con respecto al ejercicio que pusiste como ejemplo (muy bien planteado y resuelto), y comparándolo con  el mio, noté que lamentablemente lo resolví para la impresión en forma incompleta ya que usé una sola lista con los datos de la clase super Producto. Por lo tanto, tuve que reescribir el código de las clases para que se muestre herencia en atributos y principalmente en métodos y poder listar todos los productos con todos sus detalles.
Habrás notado que usé 2 clases enum que quedaron como "adornos" porque en una primera programación era una forma de chequear que lo que se ingresaba por consola era acorde a las clases definidas. Decidí no borrarlas y me tomé la licencia de usarlas de esta forma: en la clase enum TipoDeProducto (FRESCO, REFRIGERADO, CONGELADO) definí el plazo de caducidad, que para los frescos son 7 dias, refrigerados 15 dias y congelados 90 dias, y así poder calcular la fecha de caducidad por código. Para la clase enum TipoDeCongelado (AIRE,AGUA,NITROGENO) definí la temperatura de congelamiento según el método usado y evitar la carga del mismo.
También usé una clase para manejar las fechas como Calendar y tratar que la clase Test (método main) solo tenga la carga en lote de los productos y tratando de hacerla lo mas simple posible.
A continuación dejo las clases usadas.
Cordialmente,
Luis
Clase TestHerencia3
Código: [Seleccionar]
import java.util.Calendar;
public class TestHerencia3 {
    public static void main (String [ ] args) {
       TipoDeProducto tipoProducto=TipoDeProducto.FRESCO;
       TipoDeCongelado tipoCongelado=TipoDeCongelado.AIRE;
      //
       Calendar fechaEnvasado;
       Calendar fechaCaducidad;
       fechaEnvasado=Calendar.getInstance();
       fechaCaducidad=Calendar.getInstance();
       ListaProductos lista = new ListaProductos("Lista de productos");
       // carga de productos
       FechasProducto fecha = new FechasProducto();
       
       fecha.setFechaEnvasado(8,8,2017);
       fechaEnvasado=fecha.getFechaEnvasado(); fechaCaducidad=fecha.getFechaCaducidad();
       fechaCaducidad.add(Calendar.DAY_OF_MONTH, tipoProducto.FRESCO.getPlazoDuracion());
       ProductoFresco prodFres1 = new ProductoFresco("PROD. FRESCO 1", 11, "ARGENTINA", fechaEnvasado, fechaCaducidad);
       lista.addListaFrescos("PROD. FRESCO 1", 11, "ARGENTINA", fechaEnvasado, fechaCaducidad);

       fecha.setFechaEnvasado(13,8,2017);
       fechaEnvasado=fecha.getFechaEnvasado(); fechaCaducidad=fecha.getFechaCaducidad();
       fechaCaducidad.add(Calendar.DAY_OF_MONTH, tipoProducto.FRESCO.getPlazoDuracion());
       ProductoFresco prodFres2 = new ProductoFresco("PROD. FRESCO 2", 12, "CHILE", fechaEnvasado, fechaCaducidad);
       lista.addListaFrescos("PROD. FRESCO 2", 12, "CHILE", fechaEnvasado, fechaCaducidad);

       fecha.setFechaEnvasado(18,8,2017);
       fechaEnvasado=fecha.getFechaEnvasado(); fechaCaducidad=fecha.getFechaCaducidad();
       fechaCaducidad.add(Calendar.DAY_OF_MONTH, tipoProducto.REFRIGERADO.getPlazoDuracion());
       ProductoRefrigerado prodRefr1 = new ProductoRefrigerado("PROD. REFRIGERADO 1", 21, "URUGUAY", fechaEnvasado, fechaCaducidad, 1.5, "ORG.SUPERVISION 1");
       lista.addListaRefrigerados("PROD. REFRIGERADO 1", 21, "URUGUAY", fechaEnvasado, fechaCaducidad, 1.5, "ORG.SUPERVISION 1");
       
       fecha.setFechaEnvasado(23,8,2017);
       fechaEnvasado=fecha.getFechaEnvasado(); fechaCaducidad=fecha.getFechaCaducidad();
       fechaCaducidad.add(Calendar.DAY_OF_MONTH, tipoProducto.REFRIGERADO.getPlazoDuracion());
       ProductoRefrigerado prodRefr2 = new ProductoRefrigerado("PROD. REFRIGERADO 2", 22, "BOLIVIA", fechaEnvasado, fechaCaducidad, 2.6, "ORG.SUPERVISION 2");
       lista.addListaRefrigerados("PROD. REFRIGERADO 2", 22, "BOLIVIA", fechaEnvasado, fechaCaducidad, 1.6, "ORG.SUPERVISION 2");

       fecha.setFechaEnvasado(28,8,2017);
       fechaEnvasado=fecha.getFechaEnvasado(); fechaCaducidad=fecha.getFechaCaducidad();
       fechaCaducidad.add(Calendar.DAY_OF_MONTH, tipoProducto.REFRIGERADO.getPlazoDuracion());
       ProductoRefrigerado prodRefr3 = new ProductoRefrigerado("PROD. REFRIGERADO 3", 23, "PARAGUAY", fechaEnvasado, fechaCaducidad, 3.7, "ORG.SUPERVISION 3");
       lista.addListaRefrigerados("PROD. REFRIGERADO 3", 23, "PARAGUAY", fechaEnvasado, fechaCaducidad, 1.7, "ORG.SUPERVISION 3");

       fecha.setFechaEnvasado(2,9,2017);
       fechaEnvasado=fecha.getFechaEnvasado(); fechaCaducidad=fecha.getFechaCaducidad();
       fechaCaducidad.add(Calendar.DAY_OF_MONTH, tipoProducto.CONGELADO.getPlazoDuracion());
       ProductoCongeladoPorAgua prodCongAgua1 = new ProductoCongeladoPorAgua("PROD. CONG x AGUA 1", 31, "PERU", fechaEnvasado, fechaCaducidad, tipoCongelado.AGUA.getTemperaturaCongelado(), 20);
       lista.addListaCongeladosPorAgua("PROD. CONG x AGUA 1", 31, "PERU", fechaEnvasado, fechaCaducidad, tipoCongelado.AGUA.getTemperaturaCongelado(), 20);

       fecha.setFechaEnvasado(7,9,2017);
       fechaEnvasado=fecha.getFechaEnvasado(); fechaCaducidad=fecha.getFechaCaducidad();
       fechaCaducidad.add(Calendar.DAY_OF_MONTH, tipoProducto.CONGELADO.getPlazoDuracion());
       ProductoCongeladoPorAgua prodCongAgua2 = new ProductoCongeladoPorAgua("PROD. CONG x AGUA 2", 32, "ECUADOR", fechaEnvasado, fechaCaducidad, tipoCongelado.AGUA.getTemperaturaCongelado(), 21);
       lista.addListaCongeladosPorAgua("PROD. CONG x AGUA 2", 32, "ECUADOR", fechaEnvasado, fechaCaducidad,  tipoCongelado.AGUA.getTemperaturaCongelado(), 21);

       fecha.setFechaEnvasado(12,9,2017);
       fechaEnvasado=fecha.getFechaEnvasado(); fechaCaducidad=fecha.getFechaCaducidad();
       fechaCaducidad.add(Calendar.DAY_OF_MONTH, tipoProducto.CONGELADO.getPlazoDuracion());
       ProductoCongeladoPorAire prodCongAire1 = new ProductoCongeladoPorAire("PROD. CONG x AIRE 1", 41, "BRASIL", fechaEnvasado, fechaCaducidad, tipoCongelado.AIRE.getTemperaturaCongelado(), 1, 2, 3, 4);
       lista.addListaCongeladosPorAire("PROD. CONG x AIRE 1", 41, "BRASIL", fechaEnvasado, fechaCaducidad, tipoCongelado.AIRE.getTemperaturaCongelado(), 1, 2, 3, 4);

       fecha.setFechaEnvasado(17,9,2017);
       fechaEnvasado=fecha.getFechaEnvasado(); fechaCaducidad=fecha.getFechaCaducidad();
       fechaCaducidad.add(Calendar.DAY_OF_MONTH, tipoProducto.CONGELADO.getPlazoDuracion());
       ProductoCongeladoPorAire prodCongAire2 = new ProductoCongeladoPorAire("PROD. CONG x AIRE 2", 42, "COLOMBIA", fechaEnvasado, fechaCaducidad, tipoCongelado.AIRE.getTemperaturaCongelado(), 5, 6, 7, 8);               
       lista.addListaCongeladosPorAire("PROD. CONG x AIRE 2", 42, "COLOMBIA", fechaEnvasado, fechaCaducidad, tipoCongelado.AIRE.getTemperaturaCongelado(), 5, 6, 7, 8);

       fecha.setFechaEnvasado(22,9,2017);
       fechaEnvasado=fecha.getFechaEnvasado(); fechaCaducidad=fecha.getFechaCaducidad();
       fechaCaducidad.add(Calendar.DAY_OF_MONTH, tipoProducto.CONGELADO.getPlazoDuracion());
       ProductoCongeladoPorNitrogeno prodCongNitrogeno1 = new ProductoCongeladoPorNitrogeno("PROD. CONG x NITROGENO 1", 51, "VENEZUELA", fechaEnvasado, fechaCaducidad, tipoCongelado.NITROGENO.getTemperaturaCongelado(), 10, "METODO NITROGENO");
       lista.addListaCongeladosPorNitrogeno("PROD. CONG x NITROGENO 1", 51, "VENEZUELA", fechaEnvasado, fechaCaducidad, tipoCongelado.NITROGENO.getTemperaturaCongelado(), 10, "METODO NITROGENO");
       // lista de productos
       lista.listaProductosFrescos();
       lista.listaProductosRefrigerados();
       lista.listaProductosCongeladosPorAgua();
       lista.listaProductosCongeladosPorAire();
       lista.listaProductosCongeladosPorNitrogeno();
    }
}
Clase ListaProductos
Código: [Seleccionar]
import java.util.*;
public class ListaProductos {
    private ArrayList<ProductoFresco> listaDeProductosFrescos;
    private ArrayList<ProductoRefrigerado> listaDeProductosRefrigerados;
    private ArrayList<ProductoCongeladoPorAgua> listaDeProductosCongeladosPorAgua;
    private ArrayList<ProductoCongeladoPorAire> listaDeProductosCongeladosPorAire;
    private ArrayList<ProductoCongeladoPorNitrogeno> listaDeProductosCongeladosPorNitrogeno;
    public ListaProductos (String nombre) {    //Constructor: crea una lista de nombres vacía
        listaDeProductosFrescos = new ArrayList<ProductoFresco>();
        listaDeProductosRefrigerados = new ArrayList<ProductoRefrigerado>();
        listaDeProductosCongeladosPorAgua = new ArrayList<ProductoCongeladoPorAgua>();
        listaDeProductosCongeladosPorAire = new ArrayList<ProductoCongeladoPorAire>();
        listaDeProductosCongeladosPorNitrogeno = new ArrayList<ProductoCongeladoPorNitrogeno>();
    } //Cierre del constructor

    public void addListaFrescos(String nomProd, int lote, String xPais, Calendar fechaEnvasado, Calendar fechaCaducidad) {
        ProductoFresco productoFresco = new ProductoFresco(nomProd, lote, xPais, fechaEnvasado, fechaCaducidad);
        listaDeProductosFrescos.add(productoFresco);
    } //Cierre del método
   
    public void addListaRefrigerados(String nomProd, int lote, String xPais, Calendar fechaEnvasado, Calendar fechaCaducidad, double temperaturaMantenimiento, String organismoSupervision) {
        ProductoRefrigerado productoR = new ProductoRefrigerado(nomProd, lote, xPais, fechaEnvasado, fechaCaducidad, temperaturaMantenimiento, organismoSupervision);
        listaDeProductosRefrigerados.add(productoR);
    } //Cierre del método

    public void addListaCongeladosPorAgua(String nomProd, int lote, String xPais, Calendar fechaEnvasado, Calendar fechaCaducidad, double temperaturaMantenimiento, int salinidadAgua) {
        ProductoCongeladoPorAgua productoCongAgua = new ProductoCongeladoPorAgua(nomProd, lote, xPais, fechaEnvasado, fechaCaducidad, temperaturaMantenimiento, salinidadAgua);
        listaDeProductosCongeladosPorAgua.add(productoCongAgua);
    } //Cierre del método

    public void addListaCongeladosPorAire(String nomProd, int lote, String xPais, Calendar fechaEnvasado, Calendar fechaCaducidad, double temperaturaMantenimiento, float valorN, float valorO, float valorCO2, float valorH2O) {
        ProductoCongeladoPorAire productoCongAire = new ProductoCongeladoPorAire(nomProd, lote, xPais, fechaEnvasado, fechaCaducidad, temperaturaMantenimiento, valorN, valorO, valorCO2, valorH2O);
        listaDeProductosCongeladosPorAire.add(productoCongAire);
    } //Cierre del método

    public void addListaCongeladosPorNitrogeno(String nomProd, int lote, String xPais, Calendar fechaEnvasado, Calendar fechaCaducidad, double temperaturaMantenimiento, int tiempoExposicion, String metodoEmpleado) {
        ProductoCongeladoPorNitrogeno productoCongNitrogeno = new ProductoCongeladoPorNitrogeno(nomProd, lote, xPais, fechaEnvasado, fechaCaducidad, temperaturaMantenimiento, tiempoExposicion, metodoEmpleado);
        listaDeProductosCongeladosPorNitrogeno.add(productoCongNitrogeno);
    } //Cierre del método
   
    public void listaProductosFrescos(){
        System.out.println("------------- PRODUCTOS FRESCOS --------------");
        for (ProductoFresco tmp:listaDeProductosFrescos){
        tmp.listaProductoFresco();
        System.out.println("");}
    }
   
    public void listaProductosRefrigerados(){
        System.out.println("----------- PRODUCTOS REFRIGERADOS -----------");
        for (ProductoRefrigerado tmp:listaDeProductosRefrigerados){
        tmp.listaProductoRefrigerado();
        System.out.println("");}
    }
    public void listaProductosCongeladosPorAgua(){
        System.out.println("------- PRODUCTOS CONGELADOS POR AGUA --------");
        for (ProductoCongeladoPorAgua tmp:listaDeProductosCongeladosPorAgua){
        tmp.listaProductoCongeladoPorAgua();
        System.out.println("");}
    }
    public void listaProductosCongeladosPorAire(){       
        System.out.println("------- PRODUCTOS CONGELADOS POR AIRE --------");
        for (ProductoCongeladoPorAire tmp:listaDeProductosCongeladosPorAire){
        tmp.listaProductoCongeladoPorAire();
        System.out.println("");}
    }
    public void listaProductosCongeladosPorNitrogeno(){       
        System.out.println("----- PRODUCTOS CONGELADOS POR NITROGENO -----");
        for (ProductoCongeladoPorNitrogeno tmp:listaDeProductosCongeladosPorNitrogeno){
        tmp.listaProductoCongeladoPorNitrogeno();
        System.out.println("");}
    }

} //Cierre de la clase
Clase Producto
Código: [Seleccionar]
import java.util.Calendar;
/**
 * Write a description of class Producto here.
 *
 * @author Luis
 * @version CU00686B
 */
public class Producto
{
    // instance variables - replace the example below with your own
    public String nombreProducto;
    public int nroLote;
    public String paisOrigen;
    Calendar fechaEnvasado;
    Calendar fechaCaducidad;
    /**
     * Constructor for objects of class Productos
     */
    public Producto(){
        nombreProducto="";
        nroLote=0;
        paisOrigen="";
        fechaEnvasado=Calendar.getInstance();
        fechaCaducidad=Calendar.getInstance();
    }
    public Producto(String nombreProducto, int nroLote, String paisOrigen, Calendar fechaEnvasado, Calendar fechaCaducidad){
        this.nombreProducto=nombreProducto;
        this.nroLote=nroLote;
        this.paisOrigen=paisOrigen;
        this.fechaEnvasado=fechaEnvasado;
        this.fechaCaducidad=fechaCaducidad;
    }
    // metodos setters
     /**
     * @param nombreProducto Descripcion del producto
     */
    public void setNombreProducto(String nombreProducto){
       this.nombreProducto=nombreProducto;
    }
     /**
     * @param nroLote Numero de lote del producto
     */
    public void setNroLote(int nroLote){
        this.nroLote=nroLote;
    }
     /**
     * @param paisOrigen Nombre del pais de origen del producto
     */
    public void setPaisOrigen(String paisOrigen){
        this.paisOrigen = paisOrigen;
    }
    // metodos getters
    /**
    * @return Nombre del producto (String)
    */
    public String getNombreProducto(){
        return nombreProducto;
    }
    /**
    * @return Número de lote (int)
    */
    public int getNroLote(){
        return nroLote;
    }
    /**
    * @return Nombre del producto (String)
    */
    public String getPaisOrigen(){
        return paisOrigen;
    }
    public void listaProducto(){
            FechasProducto fecha = new FechasProducto(fechaEnvasado, fechaCaducidad);
            System.out.println("Nombre: "+nombreProducto+" Nro de Lote:"+nroLote+ " Pais de origen:"+paisOrigen+" Fecha de envasado:"+fecha.getStrFechaEnvasado()+ " Fecha de caducidad:"+fecha.getStrFechaCaducidad());
    }
}
Clase ProductoFresco
Código: [Seleccionar]
import java.util.Calendar;
/**
 * Write a description of class ProductoFresco here.
 *
 * @author Luis
 * @version CU00686B
 */
public class ProductoFresco extends Producto {
    public ProductoFresco(){
    }
    public ProductoFresco(String nomProd, int lote, String xPais, Calendar fechaEnvasado, Calendar fechaCaducidad) {
        super(nomProd, lote, xPais, fechaEnvasado, fechaCaducidad);
    }
    public void listaProductoFresco(){
        super.listaProducto();
    }
}
Clase ProductoConservadoEnFrio
Código: [Seleccionar]
import java.util.Calendar;
/**
 * Write a description of class ProductoConservadoEnFrio here.
 *
 * @author (your name)
 * @version (a version number or a date)
 */
public class ProductoConservadoEnFrio extends Producto
{
    private double temperaturaMantenimiento;
    public ProductoConservadoEnFrio(){
        temperaturaMantenimiento=0;
    }
    public ProductoConservadoEnFrio(String nomProd, int lote, String xPais, Calendar fechaEnvasado, Calendar fechaCaducidad, double temperaturaMantenimiento) {
        // initialise instance variables
       super(nomProd, lote, xPais, fechaEnvasado, fechaCaducidad);
       this.temperaturaMantenimiento=temperaturaMantenimiento;
    }
    /**
     * @param codigoOrganismoSupervision El Organismo que controla el producto
     */
    /**
     * @param temperaturaMantenimiento La temperatura para mantener el producto refrigerado
     */
    public void setTemperaturaMantenimiento(double temperaturaMantenimiento){
    this.temperaturaMantenimiento = temperaturaMantenimiento;
    }
     /**
     * @return La temperatura para mantener el producto refrigerado (double)
     */
    public double getTemperaturaMantenimiento() {
        return temperaturaMantenimiento;
    }
    public void listaProductoConservadoEnFrio(){
        super.listaProducto();
        System.out.println("Temperatura de mantenimiento: "+temperaturaMantenimiento);}
}
Clase ProductoRefrigerado
Código: [Seleccionar]
import java.util.*;
/**
 * Write a description of class ProductoRefrigerado here.
 *
 * @author Luis
 * @version CU00687B
 */
public class ProductoRefrigerado extends ProductoConservadoEnFrio
{
    public String organismoSupervision;
    public ProductoRefrigerado() {
        organismoSupervision="";
    }
    public ProductoRefrigerado(String nomProd, int lote, String xPais, Calendar fechaEnvasado, Calendar fechaCaducidad, double temperaturaMantenimiento, String organismoSupervision) {
        // initialise instance variables
       super(nomProd, lote, xPais, fechaEnvasado, fechaCaducidad, temperaturaMantenimiento);
       this.organismoSupervision=organismoSupervision;
    }
    /**
     * @param codigoOrganismoSupervision El Organismo que controla el producto
     */
     public void listaProductoRefrigerado(){
        super.listaProductoConservadoEnFrio();
        System.out.println("Organismo de Supervisión: "+organismoSupervision);
    }

}
Clase ProductoCongelado
Código: [Seleccionar]
import java.util.Calendar;
/**
 * Write a description of class ProductoCongelado here.
 *
 * @author Luis
 * @version CU00686B
 */
public class ProductoCongelado extends ProductoConservadoEnFrio {
    TipoDeCongelado tipoCongelado;
    public ProductoCongelado() {
    }
    public ProductoCongelado(String nomProd, int lote, String xPais, Calendar fechaEnvasado, Calendar fechaCaducidad, double temperaturaMantenimiento) {
       super(nomProd, lote, xPais, fechaEnvasado, fechaCaducidad, temperaturaMantenimiento);
    }
    public void listaProductoCongelado(){
        super.listaProductoConservadoEnFrio();
    }
}
Clase ProductoCongeladoPorAire
Código: [Seleccionar]
import java.util.Calendar;
/**
 * Write a description of class ProductoCongeladoPorAire here.
 *
 * @author Luis
 * @version CU00687B
 */
public class ProductoCongeladoPorAire extends ProductoCongelado {
    float valorN;
    float valorO;
    float valorCO2;
    float valorH2O;
    public ProductoCongeladoPorAire() {
    valorN=0;
    valorO=0;
    valorCO2=0;
    valorH2O=0;
    }
    public ProductoCongeladoPorAire(String nomProd, int lote, String xPais, Calendar fechaEnvasado, Calendar fechaCaducidad, double temperaturaMantenimiento, float valorN, float valorO, float valorCO2, float valorH2O) {
       super(nomProd, lote, xPais, fechaEnvasado, fechaCaducidad, temperaturaMantenimiento);
       this.valorN=valorN;
       this.valorO=valorO;
       this.valorCO2=valorCO2;
       this.valorH2O=valorH2O;
    };
    public void listaProductoCongeladoPorAire(){
        super.listaProductoCongelado();
        System.out.println("Composicion del aire: % Nitrogeno "+valorN+", % Oxigeno "+valorO+", % dióxido de carbono "+valorCO2+", % vapor de agua "+valorH2O);
    }
}

Continúa el resto del ejercicio como respuesta a éste mensaje

74
Hola a todos !!! Paso a dejar el código HTML del ejercico propuesto CU00722B del tutorial de programación HTML en pdf. Desde ya muchas gracias por su atención.

Saludos. Luis

EJERCICIO

Crea una página web que contenga un formulario de registro de usuarios que cumpla estas condiciones:

Como título principal de la página debe figurar con etiquetas h1 el texto “Solicitud de alta como usuario”. Debe contener un campo entrada de línea para solicitar el nombre. Debe contener un campo entrada de línea para solicitar los apellidos. Debe contener un campo entrada de línea para solicitar el correo electrónico. Debe contener un campo entrada de línea y tipo password para solicitar la contraseña. Debe contener un campo multilínea para solicitar observaciones. El formulario se debe enviar por el método get a la dirección de destino http://aprenderaprogramar.com

Código: [Seleccionar]
<!DOCTYPE html>
<html>
    <head>       
        <meta charset="utf-8">
        <title><h1>Solicitud de alta como usuario</h1></title>
    </head>
<body>
<form action="https://www.aprenderaprogramar.com" method="get">
<h2> Inscripción al Congreso para médicos especialistas</h2>
<p>
<label for="nombre">Nombre: </label>
<input type="text" name="nombre" id="nombre" />
<br/> <br/>
<label for="apellidos">Apellidos: </label>
<input type="text" name="apellidos" id="apellidos" />
<br/> <br/>
<label for="email">Correo electrónico: </label>
<input type="text" name="email" id="email" />
<br/> <br/>
<textarea name="observaciones" rows="5" cols="40">...Tus observaciones aquí...</textarea>
<br/> <br/>
<label for="pass">Password: </label>
<input type="password" name="pass" id="pass" value="abcdef" />
<br/> <br/>

<input type="submit" value="Enviar" />
<input type="reset" />
</p>
</form>
</body>
</html>

75
Muchísimas gracias Jorge !!!  :) Ya lo cambié y quedó mejor.

Código: [Seleccionar]
<!DOCTYPE html>
<html>
    <head>       
        <meta charset="utf-8">
        <title>Ejemplo del uso de listas - aprenderaprogramar.com</title>
    </head>
<body>

<ol>
<li> Doctores </li>
<ul style="list-style-type:disc">
<li> Juana Pérez </li>
<li> Alberto Márquez </li>
<li> Raúl Moreno </li>
</ul>
<hr style="height:10px; background-color: blue; width:50%; margin-left:0" />
<li> Ayudantes </li>
<ul style="list-style-type:circle">
<li> Noelia Suárez </li>
<li> Abel Rebollo </li>
</ul>
<hr style="height:10px; background-color: blue; width:50%; margin-left:0" />
<li> Auxiliares </li>
<ul style="list-style-type:square">
<li> Silvia Estévez </li>
<li> Angela González </li>
<li> Cuarthemoc Adanez </li>
</ul>
</ol>
</body>
</html>

76
Muchas gracias Jorge !!! :) En el ejemplo que hay no los vi y por eso los omití. Igualmente prefiero poner como vos decis para que se cumpla el estandar.
Otro error que vi es que en los input el el valor del "id" no estaba vinculado con el label.
Paso a poner el código nuevamente
Código: [Seleccionar]
<!DOCTYPE html>
<html>
    <head>       
        <meta charset="utf-8">
        <title><h1>Inscripción al Congreso de Medicina Santiago 2048</h1></title>
    </head>
<body>
<form action="https://www.aprenderaprogramar.com" method="get">
<h2> Inscripción al Congreso para médicos especialistas</h2>
<p>
<label for="nombreE">Nombre: </label>
<input type="text" name="nombreE" id="nombreE" />
<br/> <br/>
<label for="apellidoE">Apellido: </label>
<input type="text" name="apellidoE" id="apellidoE" />
<br/> <br/>
<label for="especialidad">Especialidad: </label>
<input type="text" name="especialidad" id="especialidad" />
<br/> <br/>
<label for="anioEsp">Año de obtención de la especialidad: </label>
<input type="text" name="anioEsp" id="anioEsp" />
<br/> <br/>
<input type="submit" value="Enviar" />
<input type="reset" />
</p>
</form>
<form action="https://www.aprenderaprogramar.com" method="get">
<h2> Inscripción al Congreso para médicos generalistas</h2>
<p>
<label for="nombreG">Nombre: </label>
<input type="text" name="nombreG" id="nombreG" />
<br/> <br/>
<label for="apellidoG">Apellido: </label>
<input type="text" name="apellidoG" id="apellidoG" />
<br/> <br/>
<label for="centroMedG">Centro Médico laboral: </label>
<input type="text" name="centroMedG" id="centroMedG">
<br/> <br/>
<label for="anioTituloG">Año de obtención del título: </label>
<input type="text" name="anioTituloG" id="anioTituloG" />
<br/> <br/>
<input type="submit" value="Enviar" />
<input type="reset" />
</p>
</form>
</body>
</html>

77
Hola a todos !! Paso a dejar el código en HTML del ejercicio propuesto en la clase CU00720B del tutorial pdf sobre HTML. Desde ya muchas gracias.
Saludos
Luis

EJERCICIO

Basándote en el código de ejemplo que hemos visto, crea una página web que cumpla con lo que indicamos a continuación:

a) Como título principal de la página debe figurar con etiquetas h1 el texto “Inscripción al Congreso de Medicina Santiago 2048”

b) Debe contener dos formularios: el primero será “Inscripción al Congreso para médicos especialistas” y el segundo “Inscripción al congreso para médicos generalistas”. Estos títulos deben figurar antes del formulario con etiquetas h2.

c) El formulario para médicos especialistas debe solicitar nombre, apellidos, especialidad y año de obtención de la especialidad.

d) El formulario para médicos generalistas debe solicitar nombre, apellidos, centro médico donde ejerce y año de obtención del título.
Código: [Seleccionar]
<!DOCTYPE html>
<html>
    <head>       
        <meta charset="utf-8">
        <title><h1>Inscripción al Congreso de Medicina Santiago 2048</h1></title>
    </head>
<body>
<form action="https://www.aprenderaprogramar.com" method="get">
<h2> Inscripción al Congreso para médicos especialistas</h2>
<p>
<label for="nombreE">Nombre: </label>
<input type="text" name="nombreE" id="nombreE">
<br/> <br/>
<label for="apellidoE">Apellido: </label>
<input type="text" name="apellidoE" id="apellidoE">
<br/> <br/>
<label for="especialidad">Especialidad: </label>
<input type="text" name="especialidad" id="IDespecialidad">
<br/> <br/>
<label for="anioEsp">Año de obtención de la especialidad: </label>
<input type="text" name="anioEsp" id="idAnioE">
<br/> <br/>
<input type="submit" value="Enviar">
<input type="reset">
</p>
</form>
<form action="https://www.aprenderaprogramar.com" method="get">
<h2> Inscripción al Congreso para médicos generalistas</h2>
<p>
<label for="nombreG">Nombre: </label>
<input type="text" name="nombreG" id="nombreG">
<br/> <br/>
<label for="apellidoG">Apellido: </label>
<input type="text" name="apellidoG" id="apellidoG">
<br/> <br/>
<label for="centroMedG">Centro Médico laboral: </label>
<input type="text" name="centroMedG" id="idCentroMG">
<br/> <br/>
<label for="anioTituloG">Año de obtención del título: </label>
<input type="text" name="anioTituloG" id="idAnioTitG">
<br/> <br/>
<input type="submit" value="Enviar">
<input type="reset">
</p>
</form>
</body>
</html>

78
Hola a todos !! Dejo a continuación las clases en respuesta al ejercicio propuesto CU00694B del tutorial de programación Java pdf. Desde ya muchas gracias.
Saludos, Luis

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

Clase Figura
Código: [Seleccionar]
public class Figura
{
    private float dimensionPrincipal;

    public Figura(float dimensionPrincipal)  {   }

}

Clase Cuadrado
Código: [Seleccionar]
public class Cuadrado extends Figura
{
    protected float superficie;
    protected float lado;
    public Cuadrado(float lado){
    super(lado);
    this.lado = lado;
    calcularArea(lado);
    }

    public void calcularArea(float lado) {
    superficie = lado*lado;
    }

    public boolean equals (Object obj) {
        if (obj instanceof Cuadrado) {
            Cuadrado tmpCuadrado = (Cuadrado) obj;
            if (this.lado==tmpCuadrado.lado) {
                return true; } else { return false; }
        }  else { return false; }
    }
}

Clase Circulo
Código: [Seleccionar]
public class Circulo extends Figura
{
    protected float radio;
    protected double superficie;
    public Circulo(float radio) {
    super(radio);
    this.radio=radio;
    calcularArea(radio);   
    }

    public void calcularArea(float radio) {
        superficie=3.14*radio*radio;
    }
    public boolean equals (Object obj) {
        if (obj instanceof Circulo) {
            Circulo tmpCirculo = (Circulo) obj;
            if (this.radio==tmpCirculo.radio ) {
                return true; } else { return false; }
        }  else { return false; }
    }
}

Clase TestFiguras
Código: [Seleccionar]
public class TestFiguras{
    public static void main (String [ ] Args) {
        Cuadrado cuadrado1 = new Cuadrado(3);
        System.out.println("cuadrado 1 de lado:"+cuadrado1.lado+" y superficie:"+cuadrado1.superficie);
        Cuadrado cuadrado2 = new Cuadrado(3);
        System.out.println("cuadrado 2 de lado:"+cuadrado2.lado+" y superficie:"+cuadrado2.superficie);
        Cuadrado cuadrado3 = new Cuadrado(5);
        System.out.println("cuadrado 3 de lado:"+cuadrado3.lado+" y superficie:"+cuadrado3.superficie);
        System.out.println ("¿Son iguales cuadrado1 y cuadrado2? " + cuadrado1.equals(cuadrado2) );
        System.out.println ("¿Son el mismo objeto cuadrado1 y cuadrado2? " + (cuadrado1 == cuadrado2) );
        System.out.println ("¿Son iguales cuadrado1 y cuadrado3? " + cuadrado1.equals(cuadrado3) ); 
        Circulo circulo1 = new Circulo(2);
        System.out.println("circulo 1 de radio:"+circulo1.radio+" y superficie:"+circulo1.superficie);
        Circulo circulo2 = new Circulo(3);
        System.out.println("circulo 2 de radio:"+circulo2.radio+" y superficie:"+circulo2.superficie);
        Circulo circulo3 = new Circulo(2);
        System.out.println("circulo 3 de radio:"+circulo3.radio+" y superficie:"+circulo3.superficie);
        System.out.println ("¿Son iguales circulo1 y circulo2? " + circulo1.equals(circulo2) );
        System.out.println ("¿Son el mismo objeto circulo1 y circulo2? " + (circulo1 == circulo2) );
        System.out.println ("¿Son iguales circulo1 y circulo3? " + circulo1.equals(circulo3) ); 
    } //Cierre del main
} //Cierre de la clase

Resultado de la ejecución
Citar
cuadrado 1 de lado:3.0 y superficie:9.0
cuadrado 2 de lado:3.0 y superficie:9.0
cuadrado 3 de lado:5.0 y superficie:25.0
¿Son iguales cuadrado1 y cuadrado2? true
¿Son el mismo objeto cuadrado1 y cuadrado2? false
¿Son iguales cuadrado1 y cuadrado3? false
circulo 1 de radio:2.0 y superficie:12.56
circulo 2 de radio:3.0 y superficie:28.259999999999998
circulo 3 de radio:2.0 y superficie:12.56
¿Son iguales circulo1 y circulo2? false
¿Son el mismo objeto circulo1 y circulo2? false
¿Son iguales circulo1 y circulo3? true

79
Hola a todos !! Paso a dejar el código en HTML para el ejercicio de la clase CU00719B del tutorial de programación HTML en pdf. Desde ya muchas gracias. Saludos
Luis

Código: [Seleccionar]
<!DOCTYPE html>
<html>
    <head>       
        <meta charset="utf-8">
        <title>Ejemplo del uso de tablas- aprenderaprogramar.com</title>
    </head>
    <body>
        <table border="2px"> <!-- Lo cambiaremos por CSS -->
<tr>
                <th>Jefe departamento</th>
                <th>jefe sección</th>
                <th>Empleado</th>
<th>Edad empleado</th>
        </tr>
        <tr>
                <td rowspan="2">Juan Alberto Chan</td>
                <td>Martin López</td>
<td>Maite Suárez</td> 
                <td>55</td>
        </tr>
        <tr>
                <td>Luis Morales</td>
                <td>Mateo Carralde</td>           
                <td>33</td>
</tr>
<tr>
                <td>Diana Rodríguez</td>
                <td>Carlos Hernández</td>
<td>Alberto Fernández</td>
                <td>62</td>
        </tr>
<tr>
                <td colspan="2">Luis Pérez</td>
                <td>Diego Gutiérrez</td>
<td>44</td>
        </tr>
        </table>
    </body>
</html>

80
Hola a todos !! Paso a dejar el código y responder las preguntas del ejercicio propuesto en la clase CU00693B del tutorial de programación Java en pdf. Desde ya mcuhas gracias. Saludos,
Luis

EJERCICIO

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, es posible al declarar el atributo aniosConsolidados como protected -ver el código abajo-
¿Qué ocurre si el atributo en la superclase lo declaras private?
Si se declara private el atriburo aniosConsolidados y queremos acceder directamente aparecerá un error en la ejecución.

Clase Profesor
Código: [Seleccionar]
public class Profesor {  //Ejemplo aprenderaprogramar.com
    protected String nombre;
    protected int edad;
    protected int aniosConsolidados;
    public Profesor (String nombre, int edad, int aniosConsolidados) {
        this.nombre=nombre; this.edad=edad; this.aniosConsolidados=aniosConsolidados;
    }
    public void mostrarDatos() {
        System.out.println ("Datos Profesor. nombre: "+nombre+", edad: "+edad+", consolidados :"+aniosConsolidados);   }
} //Cierre de la clase

Clase ProfesorInterino
Código: [Seleccionar]
public class ProfesorEmerito extends Profesor {  //Ejemplo aprenderaprogramar.com
    private int aniosEmerito;
    private double salarioBase;
    public ProfesorEmerito (String nombre, int edad, int aniosConsolidados, int aniosEmerito) {
        super(nombre, edad, aniosConsolidados);
        this.aniosEmerito=aniosEmerito;
        obtenerSalarioBase();
    }
    public double obtenerSalarioBase(){
        salarioBase = (925+aniosConsolidados)*33.25 + (47.80*aniosEmerito);
        return salarioBase;
    }
    public void mostrarDatos() {
        super.mostrarDatos();
        System.out.println ("Años como profesor emérito :"+aniosEmerito+" con un salario base:"+salarioBase);   }
} //Cierre de la clase

Clase ListinProfesores
Código: [Seleccionar]
import java.util.ArrayList; //Ejemplo aprenderaprogramar.com
public class ListinProfesores{
    private ArrayList <Profesor> listinProfesores;
    //Constructor
    public ListinProfesores () {
        listinProfesores = new ArrayList <Profesor> (); }
    //Métodos
    public void addProfesor (Profesor profesor) {
        listinProfesores.add(profesor);}     // Cierre método addProfesor
    public void listar() {
        System.out.println ("Se procede a mostrar los datos de los profesores existentes en el listín");
        for (Profesor tmp: listinProfesores) {       //Uso de for extendido
            tmp.mostrarDatos();}
    } //Cierre método
} //Cierre de la clase

Clase Test -método main-
Código: [Seleccionar]
public class Test {
    public static void main (String [ ] Args) {
        ProfesorEmerito emerito1 = new ProfesorEmerito ("Juan Lopez", 53, 25,10);
        ProfesorEmerito emerito2 = new ProfesorEmerito("José Luis Perez", 54, 20, 5);
        ListinProfesores listin1 = new ListinProfesores ();
        listin1.addProfesor(emerito1);
        listin1.addProfesor(emerito2);
        listin1.listar();} //Cierre del main
} //Cierre de la clase

Páginas: 1 2 3 [4] 5 6 7

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