diff --git a/src/tutorialJava/capitulo5/ejercicios/bloque03_clasesYMetodosAbstractos/sonidosAnimales/Animal.java b/src/tutorialJava/capitulo5/ejercicios/bloque03_clasesYMetodosAbstractos/sonidosAnimales/Animal.java index 60379d6..f56d2cd 100644 --- a/src/tutorialJava/capitulo5/ejercicios/bloque03_clasesYMetodosAbstractos/sonidosAnimales/Animal.java +++ b/src/tutorialJava/capitulo5/ejercicios/bloque03_clasesYMetodosAbstractos/sonidosAnimales/Animal.java @@ -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 + "]"; + } + + } \ No newline at end of file diff --git a/src/tutorialJava/capitulo5/ejercicios/bloque03_clasesYMetodosAbstractos/sonidosAnimales/Principal.java b/src/tutorialJava/capitulo5/ejercicios/bloque03_clasesYMetodosAbstractos/sonidosAnimales/Principal.java index 4908688..9ec92e6 100644 --- a/src/tutorialJava/capitulo5/ejercicios/bloque03_clasesYMetodosAbstractos/sonidosAnimales/Principal.java +++ b/src/tutorialJava/capitulo5/ejercicios/bloque03_clasesYMetodosAbstractos/sonidosAnimales/Principal.java @@ -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(); } } diff --git a/src/tutorialJava/capitulo5/ejercicios/bloque03_clasesYMetodosAbstractos/vehiculos/Vehiculo.java b/src/tutorialJava/capitulo5/ejercicios/bloque03_clasesYMetodosAbstractos/vehiculos/Vehiculo.java index 18ef6da..e84c309 100644 --- a/src/tutorialJava/capitulo5/ejercicios/bloque03_clasesYMetodosAbstractos/vehiculos/Vehiculo.java +++ b/src/tutorialJava/capitulo5/ejercicios/bloque03_clasesYMetodosAbstractos/vehiculos/Vehiculo.java @@ -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 + "]"; + } + + } \ No newline at end of file diff --git a/src/tutorialJava/capitulo5/ejercicios/bloque04_instanciasVsStatic/productos/Principal.java b/src/tutorialJava/capitulo5/ejercicios/bloque04_instanciasVsStatic/productos/Principal.java index 01a0754..689aada 100644 --- a/src/tutorialJava/capitulo5/ejercicios/bloque04_instanciasVsStatic/productos/Principal.java +++ b/src/tutorialJava/capitulo5/ejercicios/bloque04_instanciasVsStatic/productos/Principal.java @@ -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:"); diff --git a/src/tutorialJava/examenes/examen20241211/Libreria.java b/src/tutorialJava/examenes/examen20241211/Libreria.java new file mode 100644 index 0000000..d50f699 --- /dev/null +++ b/src/tutorialJava/examenes/examen20241211/Libreria.java @@ -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; + } +} + + + + + + + + + + diff --git a/src/tutorialJava/examenes/examen20241211/Libro.java b/src/tutorialJava/examenes/examen20241211/Libro.java new file mode 100644 index 0000000..4ffa9b7 --- /dev/null +++ b/src/tutorialJava/examenes/examen20241211/Libro.java @@ -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() + "]"; + } + + +} diff --git a/src/tutorialJava/examenes/examen20241211/Producto.java b/src/tutorialJava/examenes/examen20241211/Producto.java new file mode 100644 index 0000000..d32fe2a --- /dev/null +++ b/src/tutorialJava/examenes/examen20241211/Producto.java @@ -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 + "]"; + } + + +} diff --git a/src/tutorialJava/examenes/examen20241211/Revista.java b/src/tutorialJava/examenes/examen20241211/Revista.java new file mode 100644 index 0000000..0b3d2cf --- /dev/null +++ b/src/tutorialJava/examenes/examen20241211/Revista.java @@ -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() + "]"; + } + + +}