mirror of
https://gitlab.com/tutorial-java-rafa-munoz/tutorial-java-2024-25/tutorialjava2024-25.git
synced 2025-11-09 18:03:09 +01:00
feat(ch 5): solved all ex
This commit is contained in:
@@ -13,4 +13,15 @@ abstract class Animal {
|
||||
public String getNombre() {
|
||||
return nombre;
|
||||
}
|
||||
|
||||
public void setNombre(String nombre) {
|
||||
this.nombre = nombre;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Animal [nombre=" + nombre + "]";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -2,6 +2,9 @@ package tutorialJava.capitulo5.ejercicios.bloque03_clasesYMetodosAbstractos.soni
|
||||
|
||||
public class Principal {
|
||||
public static void main(String[] args) {
|
||||
|
||||
int a[] = new int[] {1, 2, 3};
|
||||
|
||||
// Crear un array de tipo Animal
|
||||
Animal[] animales = new Animal[] {
|
||||
new Perro("Max"),
|
||||
@@ -12,7 +15,7 @@ public class Principal {
|
||||
|
||||
// Llamar al método emitirSonido() para cada animal
|
||||
for (Animal animal : animales) {
|
||||
System.out.println("Animal: " + animal.getClass().getSimpleName());
|
||||
System.out.println("Animal: ");
|
||||
animal.emitirSonido();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,4 +20,19 @@ abstract class Vehiculo {
|
||||
public String getModelo() {
|
||||
return modelo;
|
||||
}
|
||||
|
||||
public void setVelocidadActual(int velocidadActual) {
|
||||
this.velocidadActual = velocidadActual;
|
||||
}
|
||||
|
||||
public void setModelo(String modelo) {
|
||||
this.modelo = modelo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Vehiculo [velocidadActual=" + velocidadActual + ", modelo=" + modelo + "]";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -8,7 +8,8 @@ public class Principal {
|
||||
Producto p3 = new Producto("Producto C");
|
||||
|
||||
// Verificar el valor del contador
|
||||
System.out.println("Número total de productos creados: " + Producto.obtenerContador());
|
||||
System.out.println("Número total de productos creados: " +
|
||||
Producto.obtenerContador());
|
||||
|
||||
// Mostrar nombres de los productos
|
||||
System.out.println("Productos creados:");
|
||||
|
||||
143
src/tutorialJava/examenes/examen20241211/Libreria.java
Normal file
143
src/tutorialJava/examenes/examen20241211/Libreria.java
Normal file
@@ -0,0 +1,143 @@
|
||||
package tutorialJava.examenes.examen20241211;
|
||||
|
||||
import java.util.Iterator;
|
||||
|
||||
import tutorialJava.Utils;
|
||||
|
||||
public class Libreria {
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @param args
|
||||
*/
|
||||
public static void main(String[] args) {
|
||||
Producto productos[] = new Producto[Utils.obtenerNumeroAzar(10, 20)];
|
||||
String codigo, titulo;
|
||||
|
||||
for (int i = 0; i < productos.length; i++) {
|
||||
int azar = Utils.obtenerNumeroAzar(0, 1);
|
||||
|
||||
codigo = "Código";
|
||||
titulo = "Título";
|
||||
|
||||
if (azar == 0) { // Voy a crear un libro
|
||||
productos[i] = new Libro(codigo, titulo,
|
||||
"Autor_" + i, Utils.obtenerNumeroAzar(10, 100));
|
||||
}
|
||||
else { // Voy a crear una revista
|
||||
productos[i] = new Revista(codigo, titulo,
|
||||
Utils.obtenerNumeroAzar(1, 12),
|
||||
Utils.obtenerNumeroAzar(1, 12));
|
||||
}
|
||||
}
|
||||
|
||||
// Mostrar los productos creados
|
||||
// muestraProductos(productos);
|
||||
|
||||
// Pido un código a usuario y busco en los productos
|
||||
// String codBuscado = Utils.obtenerCadenaConDescripcion("Dame un código"
|
||||
// + " para buscar ");
|
||||
//
|
||||
// Producto productoEncontrado = localizaProducto(productos, codBuscado);
|
||||
// if (productoEncontrado == null) {
|
||||
// System.out.println("El producto no se encuentra");
|
||||
// }
|
||||
// else {
|
||||
// System.out.print("El producto encontrado es ");
|
||||
// if (productoEncontrado instanceof Libro) {
|
||||
// System.out.println(" un libro");
|
||||
// }
|
||||
// else {
|
||||
// System.out.println(" una revista");
|
||||
// }
|
||||
// }
|
||||
|
||||
// Ordeno por más caro los productos y muestro más caro y más barato
|
||||
ordenaBurbuja(productos);
|
||||
muestraProductos(productos);
|
||||
System.out.println("Caro: " + productos[0]);
|
||||
System.out.println("Barato: " + productos[productos.length - 1]);
|
||||
|
||||
// Precio promedio y contador de tipos de productos
|
||||
System.out.println("Precio promedio: " + getPrecioPromedioProductos(productos));
|
||||
|
||||
int contLibros = 0, contRevistas = 0;
|
||||
for (int i = 0; i < productos.length; i++) {
|
||||
if (productos[i] instanceof Libro) contLibros++;
|
||||
else contRevistas++;
|
||||
}
|
||||
System.out.println("Hay " + contLibros + " libros");
|
||||
System.out.println("Hay " + contRevistas + " revistas");
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
private static void muestraProductos(Producto[] p) {
|
||||
for (int i = 0; i < p.length; i++) {
|
||||
System.out.println(p[i].toString());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @param codigo
|
||||
* @return
|
||||
*/
|
||||
private static Producto localizaProducto(Producto productos[], String codigoBuscado) {
|
||||
for (int i = 0; i < productos.length; i++) {
|
||||
if (productos[i].getCodigo().equalsIgnoreCase(codigoBuscado)) {
|
||||
return productos[i];
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @param a
|
||||
*/
|
||||
public static void ordenaBurbuja(Producto a[]) {
|
||||
boolean hayIntercambios = false;
|
||||
do {
|
||||
hayIntercambios = false;
|
||||
for (int i = 0; i < a.length - 1; i++) {
|
||||
if (a[i].getPrecio() < a[i + 1].getPrecio()) {
|
||||
Producto aux = a[i];
|
||||
a[i] = a[i + 1];
|
||||
a[i + 1] = aux;
|
||||
hayIntercambios = true;
|
||||
}
|
||||
}
|
||||
} while (hayIntercambios == true);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @param p
|
||||
* @return
|
||||
*/
|
||||
private static float getPrecioPromedioProductos(Producto p[]) {
|
||||
float pro = 0;
|
||||
for (int i = 0; i < p.length; i++) {
|
||||
pro += p[i].getPrecio();
|
||||
}
|
||||
return pro / p.length;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
41
src/tutorialJava/examenes/examen20241211/Libro.java
Normal file
41
src/tutorialJava/examenes/examen20241211/Libro.java
Normal file
@@ -0,0 +1,41 @@
|
||||
package tutorialJava.examenes.examen20241211;
|
||||
|
||||
public class Libro extends Producto {
|
||||
|
||||
private String autor;
|
||||
private int numPaginas;
|
||||
|
||||
public Libro() {
|
||||
}
|
||||
|
||||
public Libro(String codigo, String titulo, String autor,
|
||||
int numPaginas) {
|
||||
super(codigo, titulo);
|
||||
this.autor = autor;
|
||||
this.numPaginas = numPaginas;
|
||||
}
|
||||
|
||||
public String getAutor() {
|
||||
return autor;
|
||||
}
|
||||
|
||||
public void setAutor(String autor) {
|
||||
this.autor = autor;
|
||||
}
|
||||
|
||||
public int getNumPaginas() {
|
||||
return numPaginas;
|
||||
}
|
||||
|
||||
public void setNumPaginas(int numPaginas) {
|
||||
this.numPaginas = numPaginas;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Libro [autor=" + autor + ", numPaginas=" + numPaginas + ", getCodigo()=" + getCodigo()
|
||||
+ ", getTitulo()=" + getTitulo() + ", getPrecio()=" + getPrecio() + "]";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
51
src/tutorialJava/examenes/examen20241211/Producto.java
Normal file
51
src/tutorialJava/examenes/examen20241211/Producto.java
Normal file
@@ -0,0 +1,51 @@
|
||||
package tutorialJava.examenes.examen20241211;
|
||||
|
||||
import tutorialJava.Utils;
|
||||
|
||||
public class Producto {
|
||||
protected String codigo, titulo;
|
||||
protected float precio = Utils.obtenerNumeroAzar(5, 100);
|
||||
private static int CONTADOR = 1;
|
||||
|
||||
public Producto() {
|
||||
super();
|
||||
}
|
||||
|
||||
public Producto(String codigo, String titulo) {
|
||||
super();
|
||||
this.codigo = codigo + "_" + CONTADOR;
|
||||
this.titulo = titulo + "_" + CONTADOR;
|
||||
CONTADOR++;
|
||||
}
|
||||
|
||||
public String getCodigo() {
|
||||
return codigo;
|
||||
}
|
||||
|
||||
public void setCodigo(String codigo) {
|
||||
this.codigo = codigo;
|
||||
}
|
||||
|
||||
public String getTitulo() {
|
||||
return titulo;
|
||||
}
|
||||
|
||||
public void setTitulo(String titulo) {
|
||||
this.titulo = titulo;
|
||||
}
|
||||
|
||||
public float getPrecio() {
|
||||
return precio;
|
||||
}
|
||||
|
||||
public void setPrecio(float precio) {
|
||||
this.precio = precio;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Producto [codigo=" + codigo + ", titulo=" + titulo + ", precio=" + precio + "]";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
40
src/tutorialJava/examenes/examen20241211/Revista.java
Normal file
40
src/tutorialJava/examenes/examen20241211/Revista.java
Normal file
@@ -0,0 +1,40 @@
|
||||
package tutorialJava.examenes.examen20241211;
|
||||
|
||||
public class Revista extends Producto {
|
||||
|
||||
private int numEdicion, mesPublicacion;
|
||||
|
||||
public Revista() {
|
||||
}
|
||||
|
||||
public Revista(String codigo, String titulo, int numEdicion,
|
||||
int mesPublicacion) {
|
||||
super(codigo, titulo);
|
||||
this.numEdicion = numEdicion;
|
||||
this.mesPublicacion = mesPublicacion;
|
||||
}
|
||||
|
||||
public int getNumEdicion() {
|
||||
return numEdicion;
|
||||
}
|
||||
|
||||
public void setNumEdicion(int numEdicion) {
|
||||
this.numEdicion = numEdicion;
|
||||
}
|
||||
|
||||
public int getMesPublicacion() {
|
||||
return mesPublicacion;
|
||||
}
|
||||
|
||||
public void setMesPublicacion(int mesPublicacion) {
|
||||
this.mesPublicacion = mesPublicacion;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Revista [numEdicion=" + numEdicion + ", mesPublicacion=" + mesPublicacion + ", getCodigo()="
|
||||
+ getCodigo() + ", getTitulo()=" + getTitulo() + ", getPrecio()=" + getPrecio() + "]";
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user