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

Páginas: [1] 2
1
Ejercicio CU01058D del curso práctico de desarrollo web con CSS desde cero.

Tuve algunos inconvenientes haciendo este ejercicio, quisiera que me den su opinión del resultado.

Citar
En numerosas ocasiones queremos crear un diseño para una página web o aplicación parecido al que nos encontramos en otra página web. Supón que has encontrado el siguiente diseño. Crea el código HTML y CSS para lograr un resultado lo más parecido posible a lo que se ve en la siguiente imagen, donde tenemos una tabla con bordes redondeados.

html
Código: [Seleccionar]
<html>
<head> <title>Portal web - aprenderaprogramar.com</title> <meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="estilosBordesTabla.css">
</head>
<body>

<div>
<table class="tabla-destacada" >
<div id="cuerpo">
<tbody>
<thead>
<tr>
<th class="standar" style="border-top-left-radius: 20px; border-top-right-radius: 20px;">Standar</th>
<th class="standar" style="border-top-left-radius: 20px; border-top-right-radius: 20px;">Professional</th>
<th class="enterprise" style="border-top-left-radius: 20px; border-top-right-radius: 20px;"">Enterprise</th>
</tr>
</thead>
<tr> <td class="standar"><img src="https://thecliparts.com/wp-content/uploads/2016/07/check-clipart-6.png"></td> <td class="standar"><img src="https://thecliparts.com/wp-content/uploads/2016/07/check-clipart-6.png"></td> <td class="enterprise"><img src="https://thecliparts.com/wp-content/uploads/2016/07/check-clipart-6.png"></td>
</tr>
<tr> <td class="standar"><img src="https://thecliparts.com/wp-content/uploads/2016/07/check-clipart-6.png"></td> <td class="standar"><img src="https://thecliparts.com/wp-content/uploads/2016/07/check-clipart-6.png"></td> <td class="enterprise"><img src="https://thecliparts.com/wp-content/uploads/2016/07/check-clipart-6.png"></td>
</tr>
<tr> <td class="standar"><img src="http://1.bp.blogspot.com/-W1UbvB5e5EU/UkB0O9iSg9I/AAAAAAAAMhE/rnRUX_hYM8o/s1600/eliminar-boton-cuadrado-rojo-aspa.png"></td> <td class="standar"><img src="https://thecliparts.com/wp-content/uploads/2016/07/check-clipart-6.png"></td> <td class="enterprise"><img src="https://thecliparts.com/wp-content/uploads/2016/07/check-clipart-6.png"></td>
</tr>
<tr> <td class="standar"><img src="http://1.bp.blogspot.com/-W1UbvB5e5EU/UkB0O9iSg9I/AAAAAAAAMhE/rnRUX_hYM8o/s1600/eliminar-boton-cuadrado-rojo-aspa.png"></td> <td class="standar"><img src="http://1.bp.blogspot.com/-W1UbvB5e5EU/UkB0O9iSg9I/AAAAAAAAMhE/rnRUX_hYM8o/s1600/eliminar-boton-cuadrado-rojo-aspa.png"></td> <td class="enterprise"><img src="https://thecliparts.com/wp-content/uploads/2016/07/check-clipart-6.png"></td>
</tr>
<tfoot><tr> <td class="standar" style="border-bottom-left-radius: 20px; border-bottom-right-radius: 20px;">$99</td> <td class="standar" style="border-bottom-left-radius: 20px; border-bottom-right-radius: 20px;">$199</td> <td class="enterprise" style="border-bottom-left-radius: 20px; border-bottom-right-radius: 20px;">$399</td></tfoot>
</tr>
</table>
</tbody>
</div>
</body>
</div>
</html>

css
Código: [Seleccionar]
table {
margin-left: 20%;
border-radius: 20px;
font-family: Arial;
}
 
table, th, td {
 border-collapse: separate;
 height: 60px;
 width: 700px;
text-align: center;
}

thead, tfoot {
font-size: 22px;
font-weight: bold;
}


.standar {
background-color: rgba(0, 250, 250, 0.4);
}

img {
width: 20px;
height: 20px;
}

.enterprise {
background-color: rgba(201, 210, 200, 0.4);
}



2
Acá mi entrega del ejercicio CU01041D del curso de desarrollo web con CSS, creo que no está del todo bien. Si alguien me corrige sera de gran ayuda!

Citar
Crea un documento HTML y un archivo con la hoja de estilos CSS que cumpla con estos requisitos:

a) Deben exisitir tres contenedores (div1, div2 y div3) situados en horizontal, cada uno con margin 18px en todas direcciones, relleno de 8 píxeles en todas direcciones, ancho de 240 píxeles, altura de 300 píxeles y borde sólido de 3 píxeles de anchura con color de borde azul.

b) El div 1 debe contener un texto suficientemente largo como para exceder el tamaño del contenedor, y el excedente de texto no debe mostrarse apareciendo en el punto final unos puntos … . La altura de línea debe ser un 5 % superior a lo normal. Un fragmento del texto (delimitarlo con span) debe tener tamaño de fuente 18 píxeles y una sombra sólida de color rojo con desplazamiento hacia la derecha y abajo.

c) El div 2 debe contener un texto suficientemente largo como para exceder el tamaño del contenedor, y el excedente de texto no debe mostrarse aunque rebase al contenedor, y no deben aparecer puntos en el lugar donde se corte el texto. La altura de línea debe ser un 10 % superior a lo normal. Un fragmento del texto (delimitarlo con span) debe tener tamaño de fuente 18 píxeles y una sombra sólida de color azul con desplazamiento hacia la izquierda y abajo.

d) El div 3 debe tener alineación del texto justificada y color de texto #8B4513. Debe contener un texto suficientemente largo como para exceder el tamaño del contenedor. La altura de línea debe ser un 20 % superior a lo normal. Un fragmento del texto (delimitarlo con span) debe tener tamaño de fuente 18 píxeles y una sombra con efecto de difuminado de color verde de modo que parezca que existe vapor verde detrás del texto.

html
Código: [Seleccionar]
<html>
<head>
<title>Portal web - aprenderaprogramar.com</title> <meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="estilosSombreado.css">
</head>
<body>
<div class="div1">
<span>Crea un documento HTML y un archivo </span>con la hoja de estilos CSS que cumpla con estos requisitos:

a) Deben exisitir tres contenedores (div1, div2 y div3) situados en horizontal, cada uno con margin 18px en todas direcciones, relleno de 8 píxeles en todas direcciones, ancho de 240 píxeles, altura de 300 píxeles y borde sólido de 3 píxeles de anchura con color de borde azul.

b) El div 1 debe contener un texto suficientemente largo como para exceder
el tamaño del contenedor, y el excedente de texto no debe mostrarse apareciendo
en el punto final unos puntos … . La altura de línea debe ser un 5 % superior a
lo normal. Un fragmento del texto (delimitarlo con span) debe tener tamaño de fuente
18 píxeles y una sombra sólida de color rojo con desplazamiento hacia la derecha y
</div>
<div class="div2">
<span>Ya conocemos la propiedad overflow</span>, que permite definir cómo debe comportarse el
navegador en caso de que el contenido de una caja exceda su tamaño, por ejemplo
si el texto que excede el tamaño de su caja contenedora debe permanecer visible,
oculto, o accesible mediante barras de scroll.

La propiedad text-overflow se concibió para dar un mayor control sobre cómo debería comportarse
un texto que se sale de su contenedor, permitiendo el reemplazo del final del texto por unos puntos
suspensivos (ellipsis) o por una cadena definida por nosotros, por ejemplo podría ser “Leer más…”.

Para aplicar esta propiedad tenemos que establecer antes la propiedad overflow con valor hidden,
ya que si no lo hacemos no observaremos efecto alguno (prevalecerá lo indicado por overflow).
Además lo indicado se aplicará al texto que no quepa en sentido horizontal pero en cualquier
punto del texto, no sólo al final. Esto puede generar efectos extraños (por ejemplo que unos
puntos suspensivos aparezcan en un punto intermedio, cuando realmente sólo deberían aparecer
al final). Para evitar esto habremos de forzar que el texto no haga saltos de línea usando
white-space: nowrap; gracias a lo que el text-overflow se aplicará exactamente a la parte final del texto.
</div>
<div class="div3">
<span>Una empresa ensambladora</span> de productos de comunicación debe programar su producción
semanal. Debido a problemas de liquidez, le interesa minimizar sus costos semanales,
ya que le pagan la producción 20 días después de entregada. Actualmente está
armando dos artículos diferentes, el T14 y el B2; ambos artículos deben ser armados y
probados por personal especializado. La empresa compradora requiere no menos de
100 aparatos semanales; del modelo B2 debe entregar no menos que la cuarta parte
de los que entregue del T14, pero en ningún caso deben superar en más de 150 al nú-
mero de equipos T14. En el cuadro 2.4 se indica el tiempo que requieren los especialistas
para armar y probar cada equipo, expresado en minutos, así como la
disponibilidad de tiempo.
Cu
</div>
</body>
</html>

css
Código: [Seleccionar]
div {
display: inline-block;
margin: 18px;
padding: 8px;
width: 240px;
height: 300px;
border: 3px solid blue;
}

.div1 {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
line-height: 5%;
}

.div1 span {
font-size: 18px;
text-shadow: 2px 2px red;

}

.div2 {
overflow: hidden;
text-overflow: clip;
line-height: 10%;
}

.div2 span{
font-size: 18px;
  text-shadow: -1px 2px blue;
   
         
}
.div3 {
overflow: hidden;
text-align: justify;
color: #8B4513;
line-height: 20%;

}

.div3 span {
font-size: 18px;
text-shadow:  6px -6px 12px blue;

}



3
Aca mis respuestas a los siguientes ejercicios de la entrega CU01032D del curso fundamental de desarrollo web con CSS usando Notepad++ como editor, si pueden corregirme me seria de ayuda:

Citar
EJERCICIO 1

Define un documento HTML con un div padre (divPadre), dentro del cual existan otras 3 cajas contenedoras div (div1, div2 y div3), cada una de ellas con unas dimensiones de 300x300px, 40 píxeles de margin en todas direcciones, 30 píxeles de padding en todas direcciones y un background color diferente. Usando posicionamiento relativo genera un desplazamiento de los div de la siguiente manera:

a) El div 1 deberá desplazarse 200 píxeles a la derecha y 100 píxeles hacia abajo respecto a lo que sería su posición normal.

b) El div 2 deberá desplazarse 50 píxeles a la izquierda y 50 píxeles hacia arriba respecto a lo que sería su posición normal.

c) El div 3 deberá desplazarse 450 píxeles a la derecha y 300 píxeles hacia arriba respecto a lo que sería su posición normal.

Para comprobar si tus respuestas son correctas puedes consultar en los foros aprenderaprogramar.com.

 

 

EJERCICIO 2

Define un documento HTML con 3 cajas contenedoras div (div1, div2 y div3), la primera con unas dimensiones de 600x600px y un background color amarillo. La segunda con dimensiones 400x400px y un background color verde. La tercera con dimensiones 100x100px y background color azul. Usando posicionamiento absoluto establece para el div2 y el div3 el mismo origen que para el div1, de modo que el efecto generado sea ver un cuadrado amarillo dentro del cual hay un cuadrado verde dentro del cual hay un cuadrado azul. Para comprobar si tus respuestas son correctas puedes consultar en los foros aprenderaprogramar.com.

 

 

EJERCICIO 3

Define un documento HTML con varios div que contengan suficiente texto como para que la página se muestre con scroll (barras de desplazamiento). El primero de los div debe contener el texto <<Esta página web utiliza cookies. Si continúa navegando acepta el uso de cookies.>>, un valor height (altura) de 100 píxeles y color de fondo amarillo. Usando posicionamiento fixed, fija este div en la parte superior de la página de modo que se continúe visualizando aún cuando hagamos scroll. Para comprobar si tus respuestas son correctas puedes consultar en los foros aprenderaprogramar.com.

 

Respuesta Ejercicio 1:
html:
Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Ejemplo del uso de formularios - aprenderaprogramar.com</title>
<link href="estilosPosicion1.css" type="text/css" rel="stylesheet">
    </head>
<body>
<div>
<div class="contenedores" id="uno">
        </div>
<div class="contenedores" id="dos">
        </div>
<div class="contenedores" id="tres">
        </div>
</div>
</body>
</html>

css
Código: [Seleccionar]
div {
border: solid;
position: relative;
}
.contenedores {
width: 300px;
height: 300px;
padding: 30px;
margin: 40px;
}
#uno {
background-color: orange;
left: 200px;
top: 100px;
}
#dos {
background-color: green;
right: 50px;
bottom: 50px;
}
#tres {
background-color: pink;
left: 450px;
bottom: 300px;
}

Respuesta ejercicio 2:
html
Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Ejemplo del uso de formularios - aprenderaprogramar.com</title>
<link href="estilosPosicion2.css" type="text/css" rel="stylesheet">
    </head>
<body>
<div id="div1">
</div>
<div id="div2">
</div>
<div id="div3">
</div>
</body>
</html>

css:
Código: [Seleccionar]
div {
position: absolute;
}

#div1 {
width: 600px;
height: 600px;
background-color: yellow;
}

#div2 {
width: 400px;
height: 400px;
background-color: green;
}

#div3 {
width: 100px;
height: 100px;
background-color: blue;
}

Respuesta ejercicio 3:

html
Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Ejemplo del uso de formularios - aprenderaprogramar.com</title>
<link href="estilosPosicion3.css" type="text/css" rel="stylesheet">
    </head>
<body>
<div id="div1">
<p>Esta página web utiliza cookies. Si continúa navegando acepta el uso de cookies.</p>
</div>
<div id="div2">
<p>El código #menu1 { position:absolute; } equivale a #menu1 { position:absolute; left: auto; top: auto; } lo que supone que  se toma como origen de coordenadas el del elemento padre. De ahí que en la imagen de la izquierda se vea la caja en su posición natural, pero al estar posicionada de forma absoluta es ignorada por el resto de elementos y su espacio es ocupado como si no estuviera ahí.

El código #menu1 { position:absolute; left:0; top:0; } significa que el origen de coordenadas será el del primer contenedor posicionado o, si no existe, la esquina superior izquierda de la ventana de visualización. En este caso se toma la esquina superior izquierda de la ventana como origen de coordenadas.

Cuando se establece position en absolute o fixed el ancho del bloque se ajusta al contenido (excepto si está establecido específicamente mediante la propiedad width).

Prueba a cambiar los valores de left y top y comprueba sus resultados. Por ejemplo si estableces valores left: -50px; top: -50px; verás cómo la caja “se sale de la pantalla” por la esquina superior izquierda. Si estableces right:0; top:0; verás que la caja se sitúa en la parte superior derecha de la pantalla.

Supón ahora que quieres usar como origen de coordenadas absolutas la esquina superior izquierda del div contenedor del que estamos usando como ejemplo. Ese div contenedor tiene, aparte del menú, varias cosas más como texto con imágenes y un formulario.

Para hacer que el div del menú tome para origen de coordenadas el div contenedor en lugar de la esquina superior izquierda de la pantalla hemos de posicionar el contenedor. Posicionarlo significa darle un valor de position distinto del valor por defecto (static). Esto podemos hacerlo de varias maneras. Por ejemplo podríamos poner un id al div contenedor y aplicarle una regla nombreEscogido {position: relative; }. No es necesario establecer un desplazamiento ya que nosotros ahora lo único que queremos es que dicho elemento se identifique como un elemento posicionado, y para ello establecer su propiedad position como relative es suficiente.

También podemos hacerlo como vemos en este código:</p>
</div>
<div id="div3">
<p>El código #menu1 { position:absolute; } equivale a #menu1 { position:absolute; left: auto; top: auto; } lo que supone que  se toma como origen de coordenadas el del elemento padre. De ahí que en la imagen de la izquierda se vea la caja en su posición natural, pero al estar posicionada de forma absoluta es ignorada por el resto de elementos y su espacio es ocupado como si no estuviera ahí.

El código #menu1 { position:absolute; left:0; top:0; } significa que el origen de coordenadas será el del primer contenedor posicionado o, si no existe, la esquina superior izquierda de la ventana de visualización. En este caso se toma la esquina superior izquierda de la ventana como origen de coordenadas.

Cuando se establece position en absolute o fixed el ancho del bloque se ajusta al contenido (excepto si está establecido específicamente mediante la propiedad width).

Prueba a cambiar los valores de left y top y comprueba sus resultados. Por ejemplo si estableces valores left: -50px; top: -50px; verás cómo la caja “se sale de la pantalla” por la esquina superior izquierda. Si estableces right:0; top:0; verás que la caja se sitúa en la parte superior derecha de la pantalla.

Supón ahora que quieres usar como origen de coordenadas absolutas la esquina superior izquierda del div contenedor del que estamos usando como ejemplo. Ese div contenedor tiene, aparte del menú, varias cosas más como texto con imágenes y un formulario.

Para hacer que el div del menú tome para origen de coordenadas el div contenedor en lugar de la esquina superior izquierda de la pantalla hemos de posicionar el contenedor. Posicionarlo significa darle un valor de position distinto del valor por defecto (static). Esto podemos hacerlo de varias maneras. Por ejemplo podríamos poner un id al div contenedor y aplicarle una regla nombreEscogido {position: relative; }. No es necesario establecer un desplazamiento ya que nosotros ahora lo único que queremos es que dicho elemento se identifique como un elemento posicionado, y para ello establecer su propiedad position como relative es suficiente.

También podemos hacerlo como vemos en este código:</p>
<div id="div2">
<p>El código #menu1 { position:absolute; } equivale a #menu1 { position:absolute; left: auto; top: auto; } lo que supone que  se toma como origen de coordenadas el del elemento padre. De ahí que en la imagen de la izquierda se vea la caja en su posición natural, pero al estar posicionada de forma absoluta es ignorada por el resto de elementos y su espacio es ocupado como si no estuviera ahí.

El código #menu1 { position:absolute; left:0; top:0; } significa que el origen de coordenadas será el del primer contenedor posicionado o, si no existe, la esquina superior izquierda de la ventana de visualización. En este caso se toma la esquina superior izquierda de la ventana como origen de coordenadas.

Cuando se establece position en absolute o fixed el ancho del bloque se ajusta al contenido (excepto si está establecido específicamente mediante la propiedad width).

Prueba a cambiar los valores de left y top y comprueba sus resultados. Por ejemplo si estableces valores left: -50px; top: -50px; verás cómo la caja “se sale de la pantalla” por la esquina superior izquierda. Si estableces right:0; top:0; verás que la caja se sitúa en la parte superior derecha de la pantalla.

Supón ahora que quieres usar como origen de coordenadas absolutas la esquina superior izquierda del div contenedor del que estamos usando como ejemplo. Ese div contenedor tiene, aparte del menú, varias cosas más como texto con imágenes y un formulario.

Para hacer que el div del menú tome para origen de coordenadas el div contenedor en lugar de la esquina superior izquierda de la pantalla hemos de posicionar el contenedor. Posicionarlo significa darle un valor de position distinto del valor por defecto (static). Esto podemos hacerlo de varias maneras. Por ejemplo podríamos poner un id al div contenedor y aplicarle una regla nombreEscogido {position: relative; }. No es necesario establecer un desplazamiento ya que nosotros ahora lo único que queremos es que dicho elemento se identifique como un elemento posicionado, y para ello establecer su propiedad position como relative es suficiente.

También podemos hacerlo como vemos en este código:</p>
</div>
<div id="div4">
<p>El código #menu1 { position:absolute; } equivale a #menu1 { position:absolute; left: auto; top: auto; } lo que supone que  se toma como origen de coordenadas el del elemento padre. De ahí que en la imagen de la izquierda se vea la caja en su posición natural, pero al estar posicionada de forma absoluta es ignorada por el resto de elementos y su espacio es ocupado como si no estuviera ahí.

El código #menu1 { position:absolute; left:0; top:0; } significa que el origen de coordenadas será el del primer contenedor posicionado o, si no existe, la esquina superior izquierda de la ventana de visualización. En este caso se toma la esquina superior izquierda de la ventana como origen de coordenadas.

Cuando se establece position en absolute o fixed el ancho del bloque se ajusta al contenido (excepto si está establecido específicamente mediante la propiedad width).

Prueba a cambiar los valores de left y top y comprueba sus resultados. Por ejemplo si estableces valores left: -50px; top: -50px; verás cómo la caja “se sale de la pantalla” por la esquina superior izquierda. Si estableces right:0; top:0; verás que la caja se sitúa en la parte superior derecha de la pantalla.

Supón ahora que quieres usar como origen de coordenadas absolutas la esquina superior izquierda del div contenedor del que estamos usando como ejemplo. Ese div contenedor tiene, aparte del menú, varias cosas más como texto con imágenes y un formulario.

Para hacer que el div del menú tome para origen de coordenadas el div contenedor en lugar de la esquina superior izquierda de la pantalla hemos de posicionar el contenedor. Posicionarlo significa darle un valor de position distinto del valor por defecto (static). Esto podemos hacerlo de varias maneras. Por ejemplo podríamos poner un id al div contenedor y aplicarle una regla nombreEscogido {position: relative; }. No es necesario establecer un desplazamiento ya que nosotros ahora lo único que queremos es que dicho elemento se identifique como un elemento posicionado, y para ello establecer su propiedad position como relative es suficiente.

También podemos hacerlo como vemos en este código:</p>
</div>
</div>
</body>
</html>

css:
Código: [Seleccionar]
#div1 {
height: 100px;
background-color: yellow;
position: fixed;
top: 0;
left: 0;
}






4
Acá mi solucion al siguiente ejercicio del tutorial de programación web con HTML:

Citar
Crea tres archivos HTML con diferente contenido y guárdalos con tres nombres de archivo distintos, por ejemplo webpage1.html, webpage2.html y webpage3.html. Establece links entre cada una de las páginas webs para que se pueda pasar de una a otra, por ejemplo desde webpage1.html hemos de poder pasar con un link a webpage2.html y webpage3.html, etc.. A continuación sube los tres documentos HTML al servidor y comprueba que puedan visualizarse y navegar mediante los links entre una página y otra.

paginawebn1:
Código: [Seleccionar]
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>Ejemplo del uso de marcadores - aprenderaprogramar.com</title>
    </head>
    <body>
<a href="https://www.aprenderaprogramar.com">Acceder a la página web aprenderaprogramar.com</a>
<br />
<a href="paginawebn2.html" target="_blank">Acceder a la página web webpage2.html</a>
<br />
<a href="paginawebn3.html" target="_blank">Acceder a la página web webpage3.html</a>
</body>
</html>

paginawebn2:
Código: [Seleccionar]
<!DOCTYPE html>
<html>
    <head>       
        <meta charset="utf-8">
        <title>Ejercicio del uso de listas</title>
    </head>
    <body>
<ol style="list-style-type:decimal">
<li value="1">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; color: black; background-color: blue; width: 50%" />
<li>Ayudantes.</li>
<ul style="list-style-type:disc">
<li>Noelia Suárez</li>
<li>Abel Rebollo</li>
</ul>
<hr style="height:10px; color: black; background-color: blue; width: 50%" />
<li>Auxiliares.</li>
<ul style="list-style-type:disc">
<li>Silvia Estévez</li>
<li>Angela González</li>
<li>Cuarthemoc Adanez</li>
</ul>
<hr style="height:10px; color: black; background-color: blue; width: 50%" />
</ol>
<br /><br />
<a href="paginawebn1.html" target="_blank">Acceder a la página web webpage1.html</a>
<br /><br />
<a href="paginawebn3.html" target="_blank">Acceder a la página web webpage3.html</a>
</body>
</html>

paginawebn3:

Código: [Seleccionar]
<!DOCTYPE html>
<html>
    <head>       
        <meta charset="utf-8">
        <title>Ejercicio del uso de formularios</title>
    </head>
<body>
<h1>Inscripción al Congreso de Medicina Santiago 2048</h1>
<form>
<p>
<h2>Inscripción al Congreso para médicos especialistas</h2>
<label for="nombreEspecialista">Nombre: </label>
<input type="text" name="nombreEspecialista" id="nombreEspecialista">
<br/> <br/>
<label for="apellidosEspecialista">Apellidos: </label>
<input type="text" name="apellidosEspecialista" id="apellidosEspecialista">
<br/> <br/>
<label for="especialidad">Especialidad: </label>
<input type="text" name="especialidad" id="especialidad">
<br/> <br/>
<label for="añoEspecialista">Año de obtencion de la especialidad: </label>
<input type="text" name="añoEspecialista" id="añoEspecialista">
<br/> <br/>
</p>
</form>
<form>
<p>
<h2>Inscripción al congreso para médicos generalistas</h2>
<label for="nombreGeneralista">Nombre: </label>
<input type="text" name="nombreGeneralista" id="nombreGeneralista">
<br/> <br/>
<label for="apellidosGeneralista">Apellidos: </label>
<input type="text" name="apellidosGeneralista" id="apellidosGeneralista">
<br/> <br/>
<label for="centroMedico">Centro Medico donde ejerce: </label>
<input type="text" name="centroMedico" id="centroMedico">
<br/> <br/>
<label for="añoGeneralista">Año de obtencion del titulo: </label>
<input type="text" name="añoGeneralista" id="añoGeneralista">
<br/> <br/>
</p>
</form>
<a href="paginawebn1.html" target="_blank">Acceder a la página web webpage1.html</a>
<br /><br />
<a href="paginawebn2.html" target="_blank">Acceder a la página web webpage2.html</a>
</body>
</html>

los links:


http://humbertocv.byethost15.com/paginawebn1.html
http://humbertocv.byethost15.com/paginawebn2.html
http://humbertocv.byethost15.com/paginawebn3.html

5
Acá mi solución al siguiente ejercicio CU00717B del curso fundamentos de programación web con HTML:
 
Citar
Crea un documento HTML que conste de las siguientes partes. Un encabezado H1 donde indicaremos “Animales de Africa” como texto a mostrar.

Un encabezado H2 donde indicaremos “Leones” como texto. Dentro de este apartado incluiremos varios párrafos que hablarán sobre los leones y un enlace externo (link) de tipo texto cuyo texto será: “Pulsa aquí para saber más sobre leones” y que llevará con un target blank a la siguiente dirección web de wikipedia: http://es.wikipedia.org/wiki/Panthera_leo

Un encabezado H2 donde indicaremos “Tigres” como texto. Dentro de este apartado incluiremos varios párrafos que hablarán sobre los tigres y una imagen que debe mostrar como tooltip “Pulsa aquí para saber más sobre tigres”. Al pulsar sobre la imagen se llevará al usuario a un target blank dirigido a la dirección web http://es.wikipedia.org/wiki/Panthera_tigris

En la parte inferior incluiremos tres links internos (para lo que tendremos que haber definido las anclas correspondientes) que indicarán: “Ir al inicio – Ir a leones – Ir a tigres (Según el link que pulse el usuario, se le llevará al inicio, al encabezado del apartado de leones o al encabezado del apartado de tigres).

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title> Ejercicio 3 </title>
</meta charset="utf-8">
</head>
<body>
<a id="inicio"></a>

<h1> Animales de Africa </h1>

<a id="leones"></a>
<h2> Leones </h2>
<p> El león (Panthera leo) es un mamífero carnívoro de la familia de los félidos y una de las cinco especies del género Panthera. Los leones salvajes viven en poblaciones cada vez más dispersas y fragmentadas del África subsahariana (a excepción de las regiones selváticas de la costa del Atlántico y la cuenca del Congo) y una pequeña zona del noroeste de India (una población en peligro crítico en el Parque nacional del Bosque de Gir y alrededores), habiendo desaparecido del resto de Asia del Sur, Asia Occidental, África del Norte y la península balcánica en tiempos históricos. Hasta finales del Pleistoceno, hace aproximadamente 10 000 años, de los grandes mamíferos terrestres, el león era el más extendido tras los humanos. Su distribución cubría la mayor parte de África, gran parte de Eurasia, desde el oeste de Europa hasta la India, y en América, desde el río Yukón hasta el sur de México.</p>
<a href="http://es.wikipedia.org/wiki/Panthera_leo"target=”_blank”> Pulsa aqui para saber mas sobre Leones</a>
<a id="tigres"></a>

<h2> Tigres </h2>
<p>El tigre (Panthera tigris) es una de las cuatro3 especies de la subfamilia de los panterinos (familia Felidae) pertenecientes al género Panthera. Se encuentra solamente en el continente asiático; es un predador carnívoro y es la especie de félido más grande del mundo junto con el león pudiendo alcanzar ambos un tamaño comparable al de los felinos fósiles de mayor tamaño.</p>
<p>Es un animal solitario y territorial que generalmente suele habitar bosques densos, pero también áreas abiertas, como sabanas. Normalmente, el tigre caza animales de tamaño medio o grande, generalmente ungulados. En las seis diferentes subespecies existentes del tigre, hay una variación muy significativa del tamaño. Los tigres machos tienen un tamaño mucho mayor que el de las hembras. Análogamente, el territorio de un macho cubre generalmente un área mayor que el de una hembra.</p>
<a href="http://es.wikipedia.org/wiki/Panthera_tigris" title=”Pulsa aquí para saber más sobre tigres” target=”_blank”><img src="http://i.imgur.com/SpZyc.png"alt="Tigres"></a>

Ir al <a href="#inicio">inicio</a>, Ir a  <a href="#leones">Leones</a>, Ir a <a href="#tigres">Tigres</a>
</body>
</html>

6
Acá la entrega del ejercicio CU00920C del tutorial de programación Java avanzada

Citar
Crea una clase denominada Cuadrupedo con los atributos idCuadrupedo (int) y tipo (String), donde tipo podrá tomar los valores León, Gato, Perro o Elefante.

Crea una clase con el método main donde se introduzcan 10000 cuadrúpedos en una lista de tipo estático List y tipo dinámico ArrayList. El atributo tipo debe establecerse para cada objeto de forma aleatoria. A continuación, el programa debe mostrar por consola los datos de los objetos con idCuadrupedo múltiplo de 1000 y mostrar un resumen de cuántos cuadrúpedos hay de cada tipo.

Ejemplo de ejecución:

Cuadrúpedo-> ID: 1000 Tipo: Leon
Cuadrúpedo-> ID: 2000 Tipo: Elefante
Cuadrúpedo-> ID: 3000 Tipo: Gato
Cuadrúpedo-> ID: 4000 Tipo: Gato
Cuadrúpedo-> ID: 5000 Tipo: Perro
Cuadrúpedo-> ID: 6000 Tipo: Perro
Cuadrúpedo-> ID: 7000 Tipo: Gato
Cuadrúpedo-> ID: 8000 Tipo: Gato
Cuadrúpedo-> ID: 9000 Tipo: Perro
Cuadrúpedo-> ID: 10000 Tipo: Leon
 

Resumen: hay 2470 Leones, 2511 Gatos, 2575 Perros y 2444 Elefantes

Clase Cuadrupedo
Código: [Seleccionar]
public class Cuadrupedo {
   
    private int idCuadrupedo;
    private String tipo;
    public Cuadrupedo(int id, String tipo){
        this.idCuadrupedo = id;
        this.tipo = tipo;
    }
    public void setIdCuadrupedo(int id){
        this.idCuadrupedo = id;
    }
    public void setTipo(String tipo){
        this.tipo = tipo;
    }
    public int getId(){
        return idCuadrupedo;
    }
    public String getTipo(){
        return tipo;
    }
    public String toString(){
        return "ID Cuadrupedo: "+idCuadrupedo+", tipo: "+tipo;
    }
}

El main
Código: [Seleccionar]
import java.util.List;
import java.util.ArrayList;
import java.util.Random;
import java.util.Iterator;

public class Test {
    public static void main(String[] args){
        List<Cuadrupedo> lista = new ArrayList<Cuadrupedo>();
        String [] bla = {"Gato","Perro","Leon","Elefante"};
        Random rd = new Random();
        int num;
         for(int i=1;i<=10000;i++){
             num = rd.nextInt(4);
            lista.add(new Cuadrupedo(i,bla[num]));
         }
          Iterator<Cuadrupedo> it = lista.iterator();
          int leones = 0, gatos = 0, perros = 0, elefantes = 0;
          System.out.println("        ANIMALES CUADRUPEDOS");
 
            while(it.hasNext())
            {
                Cuadrupedo temp = it.next();
                if(temp.getId()%1000 == 0){
                System.out.println(temp);
                }
                if(temp.getTipo().equalsIgnoreCase("Leon")){
                    leones++;
                }else if(temp.getTipo().equalsIgnoreCase("Gato")){
                    gatos++;
                }else if(temp.getTipo().equalsIgnoreCase("Perro")){
                    perros++;
                }else if(temp.getTipo().equalsIgnoreCase("Elefante")){
                    elefantes++;
                }
            }
                System.out.println();
                System.out.println("Resumen: Hay "+leones+" Leones, "+gatos+" Gatos, "+perros+" Perros y "+elefantes+" Elefantes");
           
      }
    }

7
Buenas a todos los del foro, acá mi planteamiento ante el ejercicio CU00918C del curso de Java avanzado. Si alguien me puede corregir lo agradezco.

Citar
Crea una una clase llamada Estudiante con 3 campos (atributos). Estos serán nombre, edad y curso (donde el nombre será un String, la edad un int y el curso un int con valores entre 1 y 5 que representan desde primer curso hasta quinto curso).

En una clase con el main crea un ArrayList de 5 estudiantes. Usando Comparator establece dos órdenes totales: uno basado en la edad y otro en el curso. Además, establece como orden natural la ordenación por nombres según orden alfabético. Muestra por consola primero la lista desordenada y luego el resultado de ordenar la lista en base a los tres órdenes citados.

Ejemplo de ejecución que se espera del programa:

Lista de estudiantes sin ordenar:

nombre: Carlos, edad: 19, curso 3,

, nombre: Felipe, edad: 21, curso 1,

, nombre: Ana, edad: 18, curso 4,

, nombre: Rosa, edad: 15, curso 1,

, nombre: Jose, edad: 10, curso 2

Lista de estudiantes ordenados por orden alfabético: Ana, Carlos, Felipe, Jose, Rosa

Lista de estudiantes ordenados por edad : Felipe (21), Carlos (19), Ana (18), Rosa (15), Jose: 10

Lista de estudiantes ordenados por curso: Felipe (1), Rosa (1), Jose (2), Carlos (3), Ana (4)

clase Estudiante
Código: [Seleccionar]
public class Estudiante implements Comparable<Estudiante> {
    private String nombre;
    private int edad;
    private int curso;
   
    public Estudiante(){}
   
    public Estudiante(String nombre, int edad, int curso){
        this.nombre = nombre;
        this.edad = edad;
        this.curso = curso;
    }
    public void setNombre(String nombreX){
        this.nombre = nombreX;
    }
    public void setEdad(int edadX){
        this.edad = edadX;
    }
    public void setCurso(int cursoX){
        this.curso = cursoX;
    }
    public String getNombre(){
        return nombre;
    }
    public int getEdad(){
        return edad;
    }
    public int getCurso(){
        return curso;
    }
    public int compareTo(Estudiante x){
        return this.nombre.compareTo(x.nombre);
    }
    public String toString(){
        return "Nombre: "+nombre+", Edad: "+edad+", curso "+curso;
    }
}

clase OrdenarPorCurso
Código: [Seleccionar]
import java.util.Comparator;/**
 *
 * @author baseuser
 */
public class OrdenarPorCurso implements Comparator<Estudiante>{
    public int compare(Estudiante x, Estudiante y){
        return x.getCurso()-y.getCurso();// Devuelve un entero positivo si el curso de x es mayor que el curso de y
    }
}

clase OrdenarPorEdad:
Código: [Seleccionar]
import java.util.Comparator;/**
 *
 * @author baseuser
 */
public class OrdenarPorEdad  implements Comparator<Estudiante>{
    public int compare(Estudiante x, Estudiante y){
        return y.getEdad()-x.getEdad();
        // Devuelve un entero positivo si edad "y" es mayor que la de x
    }
   
}

y el main
Código: [Seleccionar]
import java.util.ArrayList;
import java.util.Collections;/**
 *
 * @author baseuser
 */
public class Test {
   public static void main(String []args){
       ArrayList<Estudiante> lista = new ArrayList<Estudiante>();
       lista.add(new Estudiante("Carlos", 19, 3));
       lista.add(new Estudiante("Felipe", 21, 1));
       lista.add(new Estudiante("Ana", 18, 4));
       lista.add(new Estudiante("Rosa", 15, 1));
       lista.add(new Estudiante("Jose", 10, 2));
       System.out.println("Lista de estudiantes sin ordenar:");
       for(Estudiante tmp: lista){
           System.out.println(tmp.toString());
       }
       Collections.sort(lista);
       System.out.println("Lista de estudiantes ordenados por orden alfabético: "+lista);
       Collections.sort(lista, new OrdenarPorEdad());
       System.out.println("Lista de estudiantes ordenados por edad: "+lista);
       Collections.sort(lista, new OrdenarPorCurso());
       System.out.println("Lista de estudiantes ordenados por curso: "+lista);
       
   }
   
}

Ahora bien tengo una duda con respecto a la parte final del ejercicio en donde hay que imprimir los estudiantes ordenados,  mi duda es que si es obligatorio que se imprima tal y como dice el ejemplo de ejecucion osea asi:
Lista de estudiantes ordenados por orden alfabético: Ana, Carlos, Felipe, Jose, Rosa

Lista de estudiantes ordenados por edad : Felipe (21), Carlos (19), Ana (18), Rosa (15), Jose: 10

Lista de estudiantes ordenados por curso: Felipe (1), Rosa (1), Jose (2), Carlos (3), Ana (4)...

de ser asi, necesito orientación para poder separar los datos a la hora de imprimir :(

8
Buenas quisiera que me corrigieran este ejercicio por favor. (Ejercicio CU00909C del curso avanzado de Java)

Citar
EJERCICIO Nº 1

Crea un programa que elija dos números enteros aleatorios A y B pero no los muestre por pantalla aún. Si los dos números fueran iguales, deberá repetirse la elección hasta que sean distintos. El programa preguntará por quién apostamos, A o B (gana el número más alto). Una vez el usuario haya introducido su apuesta, el programa mostrará el valor de A y B, dirá si hemos ganado la apuesta (acertado el número más alto) o perdido y nos dirá cuántas partidas hemos ganado y perdido hasta el momento. Tras una jugada, nos preguntará si queremos jugar otra vez.

Ejemplo de ejecución:

Apuestas por A o por B ? : A
A saca un 9 y B saca un 6     HAS GANADO!!!
Llevas 1 partidas ganadas y 0 partidas perdidas
Quieres probar otra vez ? (S/N) : S
Apuestas por A o por B ? : A
A saca un 1 y B saca un 8     HAS PERDIDO!!!
Llevas 1 partidas ganadas y 1 partidas perdidas
Quieres probar otra vez ? (S/N) : N
Adiós

mi codigo
Código: [Seleccionar]
import java.util.*;/**
 *
 * @author baseuser
 */
public class Programa2 {
    public static void main(String[]args){
        Random rnd = new Random();
        Scanner sc = new Scanner(System.in);
        int a, b, mayor, ganadas = 0, perdidas = 0;
        String seleccion, opcion;
        do{
            a = (rnd.nextInt(11));
            b = (rnd.nextInt(11));
            System.out.print("Apuestas por A o por B ?:");
            seleccion = sc.next();
            System.out.print("A saca un "+a+" y B saca un "+b);
            if(a > b){
                if(seleccion.equalsIgnoreCase("A")){
                    System.out.println("  HAS GANADO!!!");
                    ganadas++;
                }else if(seleccion.equalsIgnoreCase("B")){
                   System.out.println("  HAS PERDIDO!!!");
                   perdidas++;
                }
            }else{
                if(seleccion.equalsIgnoreCase("B")){
                    System.out.println("  HAS GANADO!!!");
                    ganadas++;
                }else if(seleccion.equalsIgnoreCase("A")){
                   System.out.println("  HAS PERDIDO!!!");
                   perdidas++;
                }
            }
            System.out.println("Llevas "+ganadas+" partidas ganadas y "+perdidas+" partidas perdidas");
            System.out.println("Quieres probar otra vez ? (S/N) :");
            opcion = sc.next();
        }while(opcion.equalsIgnoreCase("S"));
        System.out.println("Adios");
    }
}

10
Acá les dejo mi código del ejercicio planteado... Si pueden revisarlo me seria de ayuda. Es el ejercicio CU00904C del curso avanzado de Java

Citar
En España cada persona está identificada con un Documento Nacional de Identidad (DNI) en el que figura un número y una letra, por ejemplo 56999545W

La letra que sigue al número se calcula siguiendo la metodología que vamos a indicar. Crea un programa que calcule la letra de un DNI a partir del número de DNI que introduzca el usuario. Es decir, se debe pedir el DNI sin la letra por teclado y el programa nos devolverá el DNI completo (con la letra).

Para calcular la letra, se debe tomar el resto de dividir nuestro número de DNI entre 23. El resultado debe estar por tanto entre 0 y 22.

Crea un método obtenerLetra(int numeroDNI) donde según el resultado de la anterior fórmula busque en un array de caracteres la posición que corresponda a la letra. Esta es la tabla de caracteres:

Posición     0   1   2   3  4   5   6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22

Letra            T   R  W A  G  M  Y  F  P  D  X    B   N    J    Z    S   Q    V   H    L   C   K   E

Por ejemplo, si introducimos el  DNI 20267079, el resto de dividirlo por 23 sería 8, luego la letra sería la P, que es la que ocupa esa posicion  en la matriz de caracteres.

class DNI
Código: [Seleccionar]
public class DNI {
    private int numeroDNI;
    private final char [] letras = {'T','R','W','A','G','M','Y','F','P','D','X','B','N','J','Z','S','Q','V','H','L','C','K','E'};
   
    public DNI(){
        numeroDNI = 0;
    }
    public DNI(int num){
        this.numeroDNI = num;
    }
    public void setNumeroDNI(int nuevoNum){
        this.numeroDNI = nuevoNum;
    }
    public int getNumeroDNI(){
        return numeroDNI;
    }
    public void obtenerLetra(){
        int resto;
        resto = numeroDNI % 23;
        System.out.println("DNI COMPLETO: "+numeroDNI+letras[resto]);
    }
}

y el main
Código: [Seleccionar]
import java.util.Scanner;/**
 
public class TestDNI {
    public static void main(String[]args){
        Scanner sc = new Scanner(System.in);
        int numero;
        System.out.print("Por favor, ingrese su numero de DNI: ");
        numero = sc.nextInt();
        DNI dni = new DNI(numero);
        dni.obtenerLetra();
    }
}

11
disculpa, le hice algunas modificaciones a el método insertarCalificaciones...
Código: [Seleccionar]
public void insertarCalificaciones(){
        Scanner sc = new Scanner(System.in);
        for(int i = 0; i < nombres.length; i++){
           
            System.out.print("Introduzca un nombre: ");
            nombres[i] = sc.nextLine();
            System.out.print("Calificacion: ");
            calificaciones[i] = sc.nextDouble();
            sc.nextLine();//limpiar el buffer
            if(calificaciones[i] >= 0 && calificaciones[i] <= 4.99){
                equivalencia[i] = "Suspenso";
            }
            else if(calificaciones[i] >= 5 && calificaciones[i] <= 6.99){
                equivalencia[i] = "Bien";
            }else if(calificaciones[i] >= 7 && calificaciones[i] <= 8.99){
                equivalencia[i] = "Notable";
            }else if(calificaciones[i] >= 9 && calificaciones[i] <= 10){
                equivalencia [i] = "Sobresaliente";
            }
           
        }
    }

12
Buenas, acá les dejo mis códigos del ejercicio planteado. Cualquier observación sera bien recibida.


EJERCICIO

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 calificación 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.

Clase Calificaciones
Código: [Seleccionar]
import java.util.*;/**
 *
 * @author baseuser
 */
public class Calificaciones {
    private double [] calificaciones;
    private String [] nombres;
    private String [] equivalencia;
    public Calificaciones(){
        calificaciones = new double[2];
        nombres = new String [2];
        equivalencia = new String [2];
       
    }
    public void insertarCalificaciones(){
        Scanner sc = new Scanner(System.in);
        String n;
        double cali;
        for(int i = 0; i < 2; i++){
            System.out.print("Introduzca un nombre: ");
            n = sc.next();
            nombres[i] = n;
            System.out.print("Calificacion: ");
            cali = sc.nextDouble();
            calificaciones[i] = cali;
            if(cali >= 0 && cali <= 4.99){
                equivalencia[i] = "Suspenso";
            }
            else if(cali >= 5 && cali <= 6.99){
                equivalencia[i] = "Bien";
            }else if(cali >= 7 && cali <= 8.99){
                equivalencia[i] = "Notable";
            }else if(cali >= 9 && cali <= 10){
                equivalencia [i] = "Sobresaliente";
            }
           
        }
    }
    public void mostrarDatos(){
        System.out.println("CALIFICACIONES");
        for(int i = 0; i < 2; i++){
            System.out.println(("Nombre: ")+nombres[i]+" nota: "+calificaciones[i]+" "+equivalencia[i]);
        }
    }
}

la clase TestPrograma
Código: [Seleccionar]
import java.util.*;/**
 *
 * @author baseuser
 */
public class TestArrayNumerico {
    public static void main(String[]args){
        Calificaciones notas = new Calificaciones();
        System.out.println("Por favor, inserte el nombre y la nota de 2 alumnos...");
        notas.insertarCalificaciones();
        notas.mostrarDatos();
    }
   
}

13
A continuación mi planteamiento al siguiente ejercicio... Me seria de ayuda que me corrigieran ;)

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?

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

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

Clase abstracta InstalacionDeportes
Código: [Seleccionar]
public  abstract class InstalacionDeportes {
    private double superficie;
    public InstalacionDeportes(double superficie){
        this.superficie = superficie;
    }
    public InstalacionDeportes(){
       
    }
    public void setSuperficie(double superficie){
        this.superficie = superficie;
    }
    public double getSuperficie(){
        return superficie;
    }
    abstract public void mostrarDatos();
}

Clase Polideportivo
Código: [Seleccionar]
public class Polideportivo extends InstalacionDeportes implements InstalacionDeportiva,Edificio {
    private String nombre;
    public Polideportivo(String nombre, double superficie){
        super(superficie);
        this.nombre = nombre;
       
       
    }
    public void setNombre(String nombre){
        this.nombre = nombre;
    }
   
    public String getNombre(){
        return nombre;
    }
   
    public String getTipoDeInstalacion(){
        return nombre;
    }
    public double getSuperficieEdificio(){
        return super.getSuperficie();
    }
    public void mostrarDatos(){
        System.out.println("Polideportivo:\n"+("Nombre: "+nombre)+("\nSuperficie: ")+getSuperficieEdificio()+(" metros cuadrados"));
        System.out.print("\n");
    }
}

Clase oficinaDeportiva
Código: [Seleccionar]
public class OficinaDeportiva extends InstalacionDeportes implements Edificio{
    private int numeroDeOficinas;
   
    public OficinaDeportiva(int numeroDeOficinas){
        this.numeroDeOficinas = numeroDeOficinas;
       
    }
   
    public void setNumeroDeOficinas(int oficinas){
        this.numeroDeOficinas = oficinas;
    }
   
    public int getNumeroDeOficinas(){
        return numeroDeOficinas;
    }
    public double getSuperficieEdificio(){
        return super.getSuperficie();
    }
    public void mostrarDatos(){
        System.out.println("Oficina Deportiva:\n"+("Numero de Oficinas: "+numeroDeOficinas));
        System.out.print("\n");
    }
}

Clase TestInstalacionesDeportivas

Código: [Seleccionar]
import java.util.*;/**
 *
 * @author baseuser
 */
public class TestInstalacionesDeportivas {
    public static void main(String[]args){
        List <InstalacionDeportes> miLista = new ArrayList <InstalacionDeportes>();
        InstalacionDeportes poli1 = new Polideportivo("Venezuela",7522.5);
        InstalacionDeportes poli2 = new Polideportivo("URBAN",7850.5);
        InstalacionDeportes poli3 = new Polideportivo("Valle de la pascua",7880.5);
        InstalacionDeportes ofi1 = new OficinaDeportiva(50);
        InstalacionDeportes ofi2 = new OficinaDeportiva(98);
        miLista.add(poli1);miLista.add(poli2);miLista.add(poli3);miLista.add(ofi1);miLista.add(ofi2);
        Iterator <InstalacionDeportes> it = miLista.iterator();
        InstalacionDeportes tmp;
        System.out.println("LISTA DE INSTALACIONES DEPORTIVAS.........");
        while(it.hasNext()){
            tmp = it.next();
            tmp.mostrarDatos();
        }
    }
}

 

14
Buenas aca les dejo mis respuestas planteadas al ejercicio CU00690B del curso de programación aprenda Java con BlueJ.

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?

R: no, no puede

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

R: Si

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.

R:
Código: [Seleccionar]
public class Vehiculo1 {
    private String matricula;
    private int numeroDeRuedas;
   
    public  Vehiculo1(){
        matricula = "";
        numeroDeRuedas = 0;
    }
    public Vehiculo1(String matricula, int numeroDeRuedas){
        this.matricula = matricula;
        this.numeroDeRuedas = numeroDeRuedas;
    }
    public void setMatricula(String matricula){
        this.matricula = matricula;
    }
    public void setNumeroDeRuedas(int ruedas){
        this.numeroDeRuedas = ruedas;
    }
    public String getMatricula(){
        return matricula;
    }
    public int getNumeroDeRuedas(){
        return numeroDeRuedas;
    }
    public String toString(){
        String infor;
        infor = "La matricula del vehiculo es: "+matricula+"\nEl numero de ruedas: "+numeroDeRuedas;
        return infor;
    }
}

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.

R:
Código: [Seleccionar]
public class Taxi extends Vehiculo1 {
    private String nombreDelConductor;
    private int numeroDePlazas;
   
    public Taxi(){
        super();
        nombreDelConductor = "";
        numeroDePlazas = 0;
    }
    public Taxi(String matricula, int numeroDeRuedas, String nombre, int numeroDePlazas){
        super(matricula, numeroDeRuedas);
        this.nombreDelConductor = nombre;
        this.numeroDePlazas = numeroDePlazas;
    }
    public void setNombreDelConductor(String nombre){
        this.nombreDelConductor = nombre;
    }
    public void setNumeroDePlazas(int numero){
        this.numeroDePlazas = numero;
    }
    public String getNommbreDelConductor(){
        return nombreDelConductor;
    }
    public int getNumeroDePlazas(){
        return numeroDePlazas;
    }
    public String toString(){
        String taxi = super.toString()+"\nNombre del conductor: "+nombreDelConductor+"\nNumero de plazas: "+numeroDePlazas;
        return 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? ¿Por qué?

R:
Código: [Seleccionar]
public class TestTaxi {
    public static void main(String[]args){
        Vehiculo1 miVehiculo = new Taxi("HGF756",4,"Humberto",10);
        System.out.println("Datos del taxista: ");
        System.out.println(miVehiculo.toString());
       
    }
}

¿Qué método toString() resulta de aplicación, el propio de la clase Vehiculo o el propio de la clase Taxi? ¿Por qué?
R: el metodo toString() que resulta es el de la clase Taxi ya que en tiempo de ejecución Java está constantemente “buscando”  el método que corresponda en función del tipo dinámico.

15
Aquí la entrega del siguiente ejercicio de herencia CU00687B del curso aprender a programar en Java con BlueJ. Si algún experto me puede corregir sería excelente.

Se plantea desarrollar un programa Java que permita la gestión de una empresa agroalimentaria que trabaja con tres tipos de productos: productos frescos, productos refrigerados y productos congelados. Todos los productos llevan esta información común: fecha de caducidad y número de lote. A su vez, cada tipo de producto lleva alguna información específica. Los productos frescos deben llevar la fecha de envasado y el país de origen. Los productos refrigerados deben llevar el código del organismo de supervisión alimentaria, la fecha de envasado, la temperatura de mantenimiento recomendada y el país de origen. Los productos congelados deben llevar la fecha de envasado, el país de origen y la temperatura de mantenimiento recomendada.

Hay tres tipos de productos congelados: congelados por aire, congelados por agua y congelados por nitrógeno. Los productos congelados por aire deben llevar la información de la composición del aire con que fue congelado (% de nitrógeno, % de oxígeno, % de dióxido de carbono y % de vapor de agua). Los productos congelados por agua deben llevar la información de la salinidad del agua con que se realizó la congelación en gramos de sal por litro de agua. Los productos congelados por nitrógeno deben llevar la información del método de congelación empleado y del tiempo de exposición al nitrógeno expresada en segundos.

Crear el código de las clases Java implementando una relación de herencia siguiendo estas indicaciones:

a) En primer lugar realizar un esquema con papel y bolígrafo donde se represente cómo se van a organizar las clases cuando escribamos el código. Estudiar los atributos de las clases y trasladar a la superclase todo atributo que pueda ser trasladado.

b) Crear superclases intermedias (aunque no se correspondan con la descripción dada de la empresa) para agrupar atributos y métodos cuando sea posible. Esto corresponde a “realizar abstracciones” en el ámbito de la programación, que pueden o no corresponderse con el mundo real.

c) Cada clase debe disponer de constructor y permitir establecer (set) y recuperar (get) el valor de sus atributos y tener un método que permita mostrar la información del objeto cuando sea procedente.

Crear una clase testHerencia3 con el método main donde se creen: dos productos frescos, tres productos refrigerados y cinco productos congelados (2 de ellos congelados por agua, otros 2 por aire y 1 por nitrógeno). Mostrar la información de cada producto por pantalla.

la superclase Producto
Código: [Seleccionar]
public class Producto {
    String fechaCaducidad, numeroLote, fechaDeEnvasado, paisDeOrigen;
   
    public Producto(String fechaCaducidad, String numeroLote, String fechaDeEnvasado, String paisDeOrigen){
        this.fechaCaducidad = fechaCaducidad;
        this.numeroLote = numeroLote;
        this.fechaDeEnvasado = fechaDeEnvasado;
        this.paisDeOrigen = paisDeOrigen;
       
    }
   
    public void setFechaCaducidad(String fecha){
        fechaCaducidad = fecha;
    }
   
    public void setNumeroLote(String num){
        numeroLote = num;
    }
    public void setFechaDeEnvasado(String fecha){
        fechaDeEnvasado = fecha;
    }
    public void setPaisDeOrigen(String pais){
        paisDeOrigen = pais;
    }
   
    public String getFechaCaducidad(){
        return fechaCaducidad;
    }
   
    public String getNumeroLote(){
        return numeroLote;
    }
    public String getFechaDeEnvasado(){
        return fechaDeEnvasado;
    }
    public String getPaisDeOrigen(){
        return paisDeOrigen;
    }
   
    public void imprimirInfo(){
        System.out.println("Fecha Caducidad: " + getFechaCaducidad() + "\nNumero de Lote: " + getNumeroLote());
        System.out.println(" Fecha de Envasado: " + getFechaDeEnvasado() + "\nPais de Origen: " + getPaisDeOrigen());
    }
}

subclase ProductoCongelado
Código: [Seleccionar]
public class ProductoCongelado extends Producto {
    private double tempCongelacionRecomendada;
   
    public ProductoCongelado(String fechaCaducidad, String numeroLote, String fechaDeEnvasado, String paisDeOrigen){
        super(fechaCaducidad, numeroLote, fechaDeEnvasado, paisDeOrigen);
        tempCongelacionRecomendada = 0;
    }
   
    public void setTemperaturaRecomendada(double temperatura){
        tempCongelacionRecomendada = temperatura;
    }
   
    public double getTemperaturaRecomendada(){
        return tempCongelacionRecomendada;
    }
   
   
    public void imprimirDatos(){
        System.out.println(" PRODUCTO CONGELADO....... ");
        imprimirInfo();
        System.out.println("Temperatura Recomendada: " + getTemperaturaRecomendada());
    }
}

subclase ProductoCongeladoPorAgua
Código: [Seleccionar]
public class ProductoCongeladoPorAgua extends ProductoCongelado {
    private String salinidadDelAgua;
   
    public ProductoCongeladoPorAgua(String fechaCaducidad, String numeroLote, String fechaDeEnvasado, String paisDeOrigen){
        super(fechaCaducidad, numeroLote, fechaDeEnvasado, paisDeOrigen);
        salinidadDelAgua = "Desconocido";
    }
    public void setSalinidadDelAgua(String agua){
        this.salinidadDelAgua = agua;
    }
    public String getSalinidadDelAgua(){
        return salinidadDelAgua;
    }
    public void imprimirDatosCA(){
        System.out.println(" PRODUCTO CONGELADO POR AGUA....... ");
        imprimirInfo();
        System.out.println("Información de la salinidad del Agua: " + getSalinidadDelAgua());
    }
}
subclase ProductoCongeladoPorAire
Código: [Seleccionar]
public class ProductoCongeladoPorAire extends ProductoCongelado {
    private String composicionDelAire;
   
    public ProductoCongeladoPorAire(String fechaCaducidad, String numeroLote, String fechaDeEnvasado, String paisDeOrigen){
        super(fechaCaducidad, numeroLote, fechaDeEnvasado, paisDeOrigen);
        composicionDelAire = "Desconocido";
    }
    public void setComposicionDelAire(String aire){
        this.composicionDelAire = aire;
    }
    public String getComposicionDelAire(){
        return composicionDelAire;
    }
    public void imprimirDatosCAi(){
        System.out.println(" PRODUCTO CONGELADO POR AIRE....... ");
        imprimirInfo();
        System.out.println("Composicion del aire con que fue congelado: " + getComposicionDelAire());
    }
}
subclase ProductoCongeladoPorNitrogeno
Código: [Seleccionar]
public class ProductoCongeladoPorNitrogeno extends ProductoCongelado {
    private String metodoDeCongelacion, tiempoDeExposicionAlNitrogeno;
   
    public ProductoCongeladoPorNitrogeno(String fechaCaducidad, String numeroLote, String fechaDeEnvasado, String paisDeOrigen){
        super(fechaCaducidad, numeroLote, fechaDeEnvasado, paisDeOrigen);
        metodoDeCongelacion = "Desconocido";
        tiempoDeExposicionAlNitrogeno = "Desconocido";
    }
    public void setMetodoDeCongelacion(String metodo){
        this.metodoDeCongelacion = metodo;
    }
    public String getMetodoDeCongelacion(){
        return metodoDeCongelacion;
    }
    public void setTiempoDeExposicionAlNitrogeno(String t){
        this.tiempoDeExposicionAlNitrogeno = t;
    }
    public String getTiempoDeExposicionAlNitrogeno(){
        return tiempoDeExposicionAlNitrogeno;
    }
    public void imprimirDatosCN(){
        System.out.println(" PRODUCTO CONGELADO POR NITROGENO....... ");
        imprimirInfo();
        System.out.println("Metodo de Congelacion: " + getMetodoDeCongelacion());
        System.out.println("Tiempo de Exposicion al Nitrogeno: " + getTiempoDeExposicionAlNitrogeno());
    }
}
Subclase ProductoFresco
Código: [Seleccionar]
public class ProductoFresco extends Producto {
   
    public ProductoFresco(String fechaCaducidad, String numeroLote, String fechaDeEnvasado, String origen){
        super(fechaCaducidad, numeroLote, fechaDeEnvasado, origen);
       
    }
   
   
    public void imprimirDatos(){
        System.out.println(" PRODUCTO FRESCO....... ");
        imprimirInfo();
    }
}
subclase ProductoRefrigerado
Código: [Seleccionar]
public class ProductoRefrigerado extends Producto{
    private String codigoSupervisionAlimentaria;
    private String temperaturaDeMantenimientoRecomendada;
   
   
    public ProductoRefrigerado(String fechaCaducidad, String numeroLote, String fechaDeEnvasado, String paisDeOrigen){
        super(fechaCaducidad, numeroLote, fechaDeEnvasado,  paisDeOrigen);
        codigoSupervisionAlimentaria = "Desconocido";
        temperaturaDeMantenimientoRecomendada = "Desconocido";
    }
   
    public void setCodigoSupervisionAlimentaria(String codigo){
        codigoSupervisionAlimentaria = codigo;
    }
    public void setTemperaturaDeMantenimientoRecomendada(String temp){
        this.temperaturaDeMantenimientoRecomendada = temp;
    }
   
    public String getCodigoSupervisionAlimentaria(){
        return codigoSupervisionAlimentaria;
    }
    public String getTemperaturaDeMantenimientoRecomendada(){
        return temperaturaDeMantenimientoRecomendada;
    }
   
   
    public void imprimirDatos(){
        System.out.println(" PRODUCTO REFRIGERADO....... ");
        imprimirInfo();
        System.out.println("Codigo de Supervision Alimentaria: " + getCodigoSupervisionAlimentaria());
        System.out.println("Temperatura de Mantenimiento Recomendada: " + getTemperaturaDeMantenimientoRecomendada());
       
    }
}
y por ultimo el main
Código: [Seleccionar]
public class TestProgramaProductos {
    public static void main(String[] args) {
        ProductoFresco lechuga = new ProductoFresco("16-10-2016","L1603004","15-06-2008", "Venezuela");
        ProductoFresco fresa = new ProductoFresco("16-05-2016","L1603005","15-05-2008", "Venezuela");
        ProductoRefrigerado jugo = new ProductoRefrigerado("16-05-2016","L1603006","15-05-2008", "Brazil");
        jugo.setCodigoSupervisionAlimentaria("abcedef");
        ProductoRefrigerado malta = new ProductoRefrigerado("16-05-2016","L1603007","15-05-2008", "Brazil");
        malta.setCodigoSupervisionAlimentaria("abcedef");
        ProductoRefrigerado refresco = new ProductoRefrigerado("16-05-2016","L1603008","15-05-2008", "Brazil");
        refresco.setCodigoSupervisionAlimentaria("abcedef");
        ProductoCongeladoPorAgua pescado = new ProductoCongeladoPorAgua("16-05-2016","L1603009","15-05-2008", "Argentina");
        pescado.setSalinidadDelAgua("35,5 ppt");
        ProductoCongeladoPorAgua carne = new ProductoCongeladoPorAgua("16-05-2016","L1603010","15-05-2008", "Argentina");
        carne.setSalinidadDelAgua("35,7 ppt");
        ProductoCongeladoPorAire jamon = new ProductoCongeladoPorAire("16-05-2016","L1603011","15-05-2008", "Ecuador");
        jamon.setComposicionDelAire("10% de nitrogeno, 70% de oxigeno, 15% de Dioxido de Carbono y 5% de vapor de agua");
        ProductoCongeladoPorAire queso = new ProductoCongeladoPorAire("16-05-2016","L1603012","15-05-2008", "Ecuador");
        queso.setComposicionDelAire("10% de nitrogeno, 70% de oxigeno, 15% de Dioxido de Carbono y 5% de vapor de agua");
        ProductoCongeladoPorNitrogeno productox = new ProductoCongeladoPorNitrogeno("16-10-2016","L1603013","15-06-2008", "Peru");
        productox.setMetodoDeCongelacion("ultracongelación");
        productox.setTiempoDeExposicionAlNitrogeno("5000 segundos");
       
        System.out.println("     Mostrando la informacion de los productos de la empresa agroalimentaria");
        System.out.println();
        lechuga.imprimirDatos();
        System.out.println();
        fresa.imprimirDatos();
        System.out.println();
        jugo.imprimirDatos();
        System.out.println();
        malta.imprimirDatos();
        System.out.println();
        refresco.imprimirDatos();
        System.out.println();
        pescado.imprimirDatosCA();
        System.out.println();
        carne.imprimirDatosCA();
        System.out.println();
        jamon.imprimirDatosCAi();
        System.out.println();
        queso.imprimirDatosCAi();
        System.out.println();
        productox.imprimirDatosCN();
       
       
        // TODO code application logic here
    }
}

 

16
Buenas quisiera que me revisaran las respuestas que planteé al ejercicio CU00683B del curso de programación Java con BlueJ....

Intenta compilar el siguiente código:

Código: [Seleccionar]
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


¿Qué mensaje de error se obtiene? ¿Por qué se obtiene este mensaje de error? ¿Cómo podemos solucionarlo para que se ejecute lo que pretendemos?

¿Qué mensaje de error se obtiene? R:
el mensaje de error es: Variable no estática no se puede referenciar desde un contexto estático
 ¿Por qué se obtiene este mensaje de error? R: porque el método getAtrib1()  no esta declarado como un método estatic o método de clase sino como un método de instancia
 ¿Cómo podemos solucionarlo para que se ejecute lo que pretendemos? R: se puede solucionar declarando el metodo getAtrib1() como un metodo static, asi, de la misma manera se debe indicar que la variable atributos1 es estatica. Por ultimo, en el metodo main, se debe sustituir el this.getAtrib1()); por Test.getAtrib1());

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


17
Buenas , acá les dejo mi código del ejercicio correspondiente al tema CU00681B del tutorial de programación Java con BlueJ. La verdad no si si lo hice del todo bien, quisiera que me corrigieran.

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

Acá la clase Vehiculo:

Código: [Seleccionar]
public class Vehiculo {

    enum MarcaDeVehiculo{FORD, TOYOTA, SUZUKI, RENAULT, SEAT};
   
    private String matricula;
    private MarcaDeVehiculo marca;
    /**
     * El contructor es publico y no recibe parametros
     * se le asignan valores por defecto a los atributos
     */
    public Vehiculo(){
        matricula = "";
        marca = null;
    }//Cierre del constructor
    /**
     * Método para asignar una matricula
     * @param ma El parámetro ma modifica el nombre de la matricula del vehiculo
     */
    public void setMatricula(String ma){
        matricula = ma;
    }//Cierre del metodo
    /**
     * Método para asignar la marca del vehiculo
     * @param c El parámetro c modifica la marca del  vehiculo
     */
    public void setMarcaDeVehiculo(MarcaDeVehiculo c){
        marca = c;
    }//Cierre del metodo
    /**
     * Método get que devuelve la matricula
     */
    public String getMatricula(){
        return matricula;
    }//Cierre del metodo
    /**
     * Método get que devuelve la marca del vehiculo
     */
    public MarcaDeVehiculo getMarca(){
        return marca;
    }//Cierre del metodo
}// Cierre de la clase

Y el main

Código: [Seleccionar]
/**
 * Clase que contiene el metodo main
 * @author Humberto Ali Castillo
 */
public class TestPrograma {
    public static void main(String []args){
        Vehiculo v1 = new Vehiculo();
        System.out.println("la marca del vehiculo es: "+v1.getMarca());
        System.out.println("Cambiando marca de vehiculo a: TOYOTA");
        v1.setMarcaDeVehiculo(Vehiculo.MarcaDeVehiculo.TOYOTA);
        System.out.println("la marca del vehiculo es: "+v1.getMarca());
       
    }
}

18
Lo tomare en cuanta gracias, lo que pasa es que soy nuevo en el foro... mil disculpas  ;)

19
Ejercicio CU00669B del tutorial de programación Java con BlueJ

Código: [Seleccionar]
public class TestMeses {
    public static void main(String[]args){
        String [] meses = {"enero", "febrero", "marzo", "abril", "mayo", "junio", "agosto", "septiembre", "octubre", "noviembre", "diciembre"};
        String mesSecreto = meses[5];
        System.out.println("Adivine el mes secreto. Introduzca el nombre del mes en minúsculas");
        Scanner sc = new Scanner(System.in);
        String mesU = sc.nextLine();
        while(mesU.equalsIgnoreCase(mesSecreto) == false){
            System.out.println("No ha acertado. Intente adivinarlo introduciendo otro mes:");
            mesU = sc.nextLine();
        }
        System.out.println("Has acertado!!!");
               
    }
}

20
Quisiera saber si el ejercicio CU00667B del tutorial de programación Java con BlueJ esta bien, de antemano gracias

Código: [Seleccionar]
public class CantanteFamoso {
    private String nombre;
    private String discoConMasVentas;
    public CantanteFamoso(){
        nombre = "";
        discoConMasVentas = "";
    }
    public CantanteFamoso(String nombre,String discoConMasVentas){
        this.nombre = nombre;
        this.discoConMasVentas = discoConMasVentas;
    }
   
    public void setNombre(String n){
        this.nombre = n;
    }
    public void setDiscoConMasVentas(String dc){
        this.discoConMasVentas = dc;
    }
    public String getNombre(){
        return nombre;
    }
    public String getDiscoConMasVentas(){
        return discoConMasVentas;
    }
}

Código: [Seleccionar]
import java.util.ArrayList;
import java.util.Scanner;
import java.util.Iterator;/**
 *
 * @author baseuser
 */
public class ListaCantantesFamosos2 {
    private ArrayList<CantanteFamoso> listaCantantesFamosos = new ArrayList<CantanteFamoso>();
    private String nombreLista;
   
    public ListaCantantesFamosos2(){
        nombreLista = "------- CANTANTES FAMOSOS -------";
        listaCantantesFamosos = new ArrayList<CantanteFamoso>();
        listaCantantesFamosos.add(new CantanteFamoso("Michael Jackson", "Thriller"));
        listaCantantesFamosos.add(new CantanteFamoso("Madonna", "All I want is you"));
    }
   
    public void aggCantante(){
        CantanteFamoso cf = new CantanteFamoso();
        Scanner sc = new Scanner(System.in);
        System.out.println("Por Favor Introduzca el nombre del Cantante: ");
        String Cantante = sc.nextLine();
        cf.setNombre(Cantante);
        System.out.println("Por Favor Introduzca su Disco Mas Famoso: ");
        String cd = sc.nextLine();
        cf.setDiscoConMasVentas(cd);
        listaCantantesFamosos.add(new CantanteFamoso(cf.getNombre(),cf.getDiscoConMasVentas()));
    }
    public void imprimirLista(){
        System.out.println("La lista "+nombreLista+" contiene los siguientes datos: ");
        Iterator <CantanteFamoso> it = listaCantantesFamosos.iterator();
        CantanteFamoso tmpCantante;
        while(it.hasNext()){
            tmpCantante = it.next();
            System.out.println("Cantante: "+tmpCantante.getNombre()+".      Disco Mas vendido: "+tmpCantante.getDiscoConMasVentas());
        }
    }
    public int getTamaño() {
        return listaCantantesFamosos.size();
    }
    public String getNombreLista(){
        return nombreLista;
    }
           
}

por ultimo el main
Código: [Seleccionar]
import java.util.Scanner;/**
 *
 * @author baseuser
 */
public class TestEjercicioIterator {
    public static void main(String[]args){
    Scanner sc = new Scanner(System.in);
    ListaCantantesFamosos2 lcf = new ListaCantantesFamosos2();
   
    lcf.imprimirLista();
    String op = "s" ;
    String nombre, disco;
    while(op.equalsIgnoreCase("s") ){
        System.out.println("Por favor introduzca los datos de otro cantante.");
        lcf.aggCantante();
        System.out.println("Actualizando Lista.........");
        lcf.imprimirLista();
        System.out.println("¿Desea introducir los datos de otro cantante (s:si/n)no)?");
        op = sc.nextLine();
        }
        System.out.println("Finalizando programa......");
    }
}

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