From 366d9f0855ed50c72baee2d890757742b6809b42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=20Mu=C3=B1oz?= Date: Tue, 14 Jan 2025 12:26:37 +0100 Subject: [PATCH] feat(ch 6): solved ex block 1 --- .../Ejemplo01_ListasConInteger.java | 5 +- .../cromosBaloncesto/CromoBaloncesto.java | 1 + .../cromosBaloncesto/EjemploListasCromos.java | 36 +++-- .../ejemplo02_HashMap/EjemploHashMap.java | 10 +- .../Ejercicio01_ListasConInteger.java | 125 ++++++++++++++++++ .../FicheroTextoConListaDeStrings.java | 93 +++++++++++++ 6 files changed, 243 insertions(+), 27 deletions(-) create mode 100644 src/tutorialJava/capitulo6_ColeccionesDeDatos/ejercicios/bloque01_listas/Ejercicio01_ListasConInteger.java create mode 100644 src/tutorialJava/capitulo6_ColeccionesDeDatos/ejercicios/bloque01_listas/FicheroTextoConListaDeStrings.java diff --git a/src/tutorialJava/capitulo6_ColeccionesDeDatos/ejemplo01_ListYArrayList/Ejemplo01_ListasConInteger.java b/src/tutorialJava/capitulo6_ColeccionesDeDatos/ejemplo01_ListYArrayList/Ejemplo01_ListasConInteger.java index 1046061..672fad0 100644 --- a/src/tutorialJava/capitulo6_ColeccionesDeDatos/ejemplo01_ListYArrayList/Ejemplo01_ListasConInteger.java +++ b/src/tutorialJava/capitulo6_ColeccionesDeDatos/ejemplo01_ListYArrayList/Ejemplo01_ListasConInteger.java @@ -10,6 +10,7 @@ public class Ejemplo01_ListasConInteger { // Declarado la lista de Integers List numeros = new ArrayList(); + // Inicializar con 10 elementos de tipo Integer for (int i = 0; i < 10; i++) { // numeros.add(new Integer(100 + i)); // Deprecado @@ -21,10 +22,10 @@ public class Ejemplo01_ListasConInteger { numeros.add(1000); // Elimino un elemento - numeros.remove(2); + numeros.remove(Integer.valueOf(102)); // Inserto un elemento en una posición concreta - numeros.add(1, 5000); + numeros.add(2, 5000); // Crear una nueva lista List numerosNegativos = new ArrayList(); diff --git a/src/tutorialJava/capitulo6_ColeccionesDeDatos/ejemplo01_ListYArrayList/cromosBaloncesto/CromoBaloncesto.java b/src/tutorialJava/capitulo6_ColeccionesDeDatos/ejemplo01_ListYArrayList/cromosBaloncesto/CromoBaloncesto.java index e8fbaa0..fd3176d 100644 --- a/src/tutorialJava/capitulo6_ColeccionesDeDatos/ejemplo01_ListYArrayList/cromosBaloncesto/CromoBaloncesto.java +++ b/src/tutorialJava/capitulo6_ColeccionesDeDatos/ejemplo01_ListYArrayList/cromosBaloncesto/CromoBaloncesto.java @@ -1,6 +1,7 @@ package tutorialJava.capitulo6_ColeccionesDeDatos.ejemplo01_ListYArrayList.cromosBaloncesto; public class CromoBaloncesto { + private int id; private String nombre; /** diff --git a/src/tutorialJava/capitulo6_ColeccionesDeDatos/ejemplo01_ListYArrayList/cromosBaloncesto/EjemploListasCromos.java b/src/tutorialJava/capitulo6_ColeccionesDeDatos/ejemplo01_ListYArrayList/cromosBaloncesto/EjemploListasCromos.java index cb77720..28b8a01 100644 --- a/src/tutorialJava/capitulo6_ColeccionesDeDatos/ejemplo01_ListYArrayList/cromosBaloncesto/EjemploListasCromos.java +++ b/src/tutorialJava/capitulo6_ColeccionesDeDatos/ejemplo01_ListYArrayList/cromosBaloncesto/EjemploListasCromos.java @@ -13,32 +13,30 @@ public class EjemploListasCromos { List lista = new ArrayList(); lista.add(c1); lista.add(c2); - lista.add(10, c3); + lista.add(c3); for (CromoBaloncesto c : lista) { System.out.println(c.getNombre()); } + CromoBaloncesto c4 = new CromoBaloncesto(4, "Araceli Pacheco"); + CromoBaloncesto c5 = new CromoBaloncesto(5, "María Jesús Joyanes"); + CromoBaloncesto c6 = new CromoBaloncesto(6, "Candela Écija"); + List lista2 = new ArrayList(); + lista2.add(c4); + lista2.add(c5); + lista2.add(c6); -// CromoBaloncesto c4 = new CromoBaloncesto(4, "Cristina Castro"); -// CromoBaloncesto c5 = new CromoBaloncesto(5, "María Jesús Joyanes"); -// CromoBaloncesto c6 = new CromoBaloncesto(6, "Alazne Ruiz"); -// -// List lista2 = new ArrayList(); -// lista2.add(c4); -// lista2.add(c5); -// lista2.add(c6); -// -// lista.addAll(1, lista2); -// -// lista.removeAll(lista); -// -// System.out.println("VAcía: " + lista.isEmpty()); -// -// for (CromoBaloncesto c : lista) { -// System.out.println(c.toString()); -// } + lista.addAll(1, lista2); + + lista.removeAll(lista); + + System.out.println("VAcía: " + lista.isEmpty()); + + for (CromoBaloncesto c : lista) { + System.out.println(c.toString()); + } } } diff --git a/src/tutorialJava/capitulo6_ColeccionesDeDatos/ejemplo02_HashMap/EjemploHashMap.java b/src/tutorialJava/capitulo6_ColeccionesDeDatos/ejemplo02_HashMap/EjemploHashMap.java index f0e5813..e1e3e39 100644 --- a/src/tutorialJava/capitulo6_ColeccionesDeDatos/ejemplo02_HashMap/EjemploHashMap.java +++ b/src/tutorialJava/capitulo6_ColeccionesDeDatos/ejemplo02_HashMap/EjemploHashMap.java @@ -19,13 +19,11 @@ public class EjemploHashMap { hm.put("4", new Persona ("44444444A", "Torralbo Torralbo", "Patricia")); hm.put("5", new Persona ("55555555A", "Lérida Lérida", "Lucía")); - // Recuperación de datos en un HashMap general System.out.println("Objeto con id 1: " + hm.get("1")); // Recuperación de un solo objeto // Inserción de un objeto con un tipo de identificador diferente - hm.put(Integer.valueOf(6), new Persona ("66666666A", "Ramírez Ramírez", "Ramiro")); - + hm.put(6, new Persona ("66666666A", "Ramírez Ramírez", "Ramiro")); // Recuperación de todas las claves de objetos en el HM System.out.println("\nRecorrido del HashMap:"); @@ -50,7 +48,7 @@ public class EjemploHashMap { hm.put("3", new Persona ("33333333A", "Cuenca Cuenca", "Juan")); hm.put("4", new Persona ("44444444A", "Torralbo Torralbo", "Patricia")); hm.put("5", new Persona ("55555555A", "Lérida Lérida", "Lucía")); - + // Eliminación de algún elemento en el HM hm.remove("5"); @@ -69,7 +67,7 @@ public class EjemploHashMap { * @param args */ public static void main (String args[]) { - ejemploHashMapGeneral(); - //ejemploHashMapEspecifico(); +// ejemploHashMapGeneral(); + ejemploHashMapEspecifico(); } } diff --git a/src/tutorialJava/capitulo6_ColeccionesDeDatos/ejercicios/bloque01_listas/Ejercicio01_ListasConInteger.java b/src/tutorialJava/capitulo6_ColeccionesDeDatos/ejercicios/bloque01_listas/Ejercicio01_ListasConInteger.java new file mode 100644 index 0000000..3dd097a --- /dev/null +++ b/src/tutorialJava/capitulo6_ColeccionesDeDatos/ejercicios/bloque01_listas/Ejercicio01_ListasConInteger.java @@ -0,0 +1,125 @@ +package tutorialJava.capitulo6_ColeccionesDeDatos.ejercicios.bloque01_listas; + +import java.util.ArrayList; +import java.util.List; +import java.util.Scanner; + +import tutorialJava.Utils; + +public class Ejercicio01_ListasConInteger { + + private static List enteros = new ArrayList(); + + + public static void main(String[] args) { + int opcionMenu = 0, posicionAInsertar; + + do { + opcionMenu = mostrarMenu(); + + switch(opcionMenu) { + case 1: // Crear aleatoriamente la lista de valores + enteros.clear(); + enteros.addAll(creaLista()); + break; + case 2: // suma, media, mayor y menor + calculaSumaMediaMayorMenor(); + break; + case 3: // agregar una nueva cantidad de valores + posicionAInsertar = Utils.obtenerEnteroConDescripcion("Dime la posición a " + + "insertar los nuevos valores en la lista"); + enteros.addAll(posicionAInsertar, creaLista()); + break; + case 4: // Eliminar elementos dentro de un intervalo + int eliminados = eliminarElementosEnIntervalo( + Utils.obtenerEnteroConDescripcion("Dame un mínimo para eliminar: "), + Utils.obtenerEnteroConDescripcion("Dame un máximo para eliminar: ")); + System.out.println("Se han eliminado: " + eliminados); + break; + case 5: // Imprime la lista + for (Integer e : enteros) { + System.out.print(e.intValue() + " "); + } + System.out.println(); + } + } while(opcionMenu != 0); + + } + + + /** + * Este método....... + * @param min Este parámetro.... + * @param max + */ + private static int eliminarElementosEnIntervalo (int min, int max) { + int contEliminados = 0; + for (int i = enteros.size()-1; i > -1 ; i--) { + if (enteros.get(i).intValue() > min && enteros.get(i).intValue() < max) { + enteros.remove(i); + contEliminados++; + } + } + return contEliminados; + } + + /** + * + */ + private static void calculaSumaMediaMayorMenor () { + int suma = 0; + int mayor = enteros.get(0).intValue(); + int menor = enteros.get(0).intValue(); + + for (Integer entero : enteros) { + suma += entero.intValue(); + if (entero.intValue() > mayor) { + mayor = entero.intValue(); + } + if (entero.intValue() < menor) { + menor = entero.intValue(); + } + } + + System.out.println("La suma vale: " + suma); + System.out.println("La media vale: " + (suma / (float) enteros.size()) ); + System.out.println("El menor es: " + menor); + System.out.println("El mayor es: " + mayor); + } + + + + + + /** + * + */ + private static List creaLista () { + List lista = new ArrayList(); + int longitud = Utils.obtenerEnteroConDescripcion("Dame la longitud de la lista: "); + int max = Utils.obtenerEnteroConDescripcion("Valor máximo: "); + int min = Utils.obtenerEnteroConDescripcion("Valor mínimo: "); + + for (int i = 0; i < longitud; i++) { + lista.add(Utils.obtenerNumeroAzar(min, max)); + } + return lista; + } + + /** + * + * @return + */ + private static int mostrarMenu() { + System.out.println("MENÚ DEL PROGRAMA"); + System.out.println("0.- Abandonar programa"); + System.out.println("1.- Crear aleatoriamente lista de valores"); + System.out.println("2.- Calcular suma, media, mínimo y máximo."); + System.out.println("3.- Agregar cantidad nuevos valores"); + System.out.println("4.- Eliminar elementos en un intervalo"); + System.out.println("5.- Imprimir lista"); + + System.out.println("Escribe la opción (0-5):"); + return new Scanner(System.in).nextInt(); + } +} diff --git a/src/tutorialJava/capitulo6_ColeccionesDeDatos/ejercicios/bloque01_listas/FicheroTextoConListaDeStrings.java b/src/tutorialJava/capitulo6_ColeccionesDeDatos/ejercicios/bloque01_listas/FicheroTextoConListaDeStrings.java new file mode 100644 index 0000000..9b7017f --- /dev/null +++ b/src/tutorialJava/capitulo6_ColeccionesDeDatos/ejercicios/bloque01_listas/FicheroTextoConListaDeStrings.java @@ -0,0 +1,93 @@ +package tutorialJava.capitulo6_ColeccionesDeDatos.ejercicios.bloque01_listas; + +import java.util.ArrayList; +import java.util.List; +import java.util.Scanner; + +import tutorialJava.Utils; + +public class FicheroTextoConListaDeStrings { + + private static List fichero = new ArrayList(); + private static List portapapeles = new ArrayList(); + + /** + * + * @param args + */ + public static void main(String[] args) { + int opcion; + + do { + opcion = mostrarMenu(); + + switch (opcion) { + case 1: // Agregar una línea al final del fichero + fichero.add(Utils.obtenerCadenaConDescripcion("Inserte la nueva línea: ")); + break; + case 2: // Insertar una línea en cualquier lugar del fichero + fichero.add( + Utils.obtenerEnteroConDescripcion("Dame una posición para insertar la línea:"), + Utils.obtenerCadenaConDescripcion("Dame la nueva línea: ")); + break; + case 3: // Editar una línea + int posicionAEditar = Utils.obtenerEnteroConDescripcion("Posición a editar: "); + fichero.remove(posicionAEditar); + fichero.add( + posicionAEditar, + Utils.obtenerCadenaConDescripcion("Dame la nueva línea: ")); + break; + case 4: // elimiar una línea + fichero.remove(Utils.obtenerEnteroConDescripcion("Indica la línea a eliminar: ")); + break; + case 5: // Llevar al portapapeles un conjunto de líneas + int lineaIni = Utils.obtenerEnteroConDescripcion("Primera línea a cortar: "); + int lineaFin = Utils.obtenerEnteroConDescripcion("Última línea a cortar: "); + + portapapeles.clear(); + for (int i = lineaIni; i <= lineaFin; i++) { + portapapeles.add(fichero.get(lineaIni)); + fichero.remove(lineaIni); + } + break; + case 6: + fichero.addAll( + Utils.obtenerEnteroConDescripcion("Indica dónde quieres insertar " + + "las linás cortadas: "), + portapapeles); + break; + case 7: // Ver el fichero + System.out.println("Contenido del fichero: "); + for (String linea : fichero) { + System.out.println(linea); + } + System.out.println("\n"); + + break; + } + } while (opcion != 0); + + } + + + + /** + * + * @return + */ + private static int mostrarMenu() { + System.out.println("MENÚ DEL PROGRAMA"); + System.out.println("0.- Abandonar programa"); + System.out.println("1.- Agregar una línea al texto"); + System.out.println("2.- Insertar una línea en cualquier posición del texto."); + System.out.println("3.- Editar una línea (reescribir su contenido)"); + System.out.println("4.- Borrar una línea"); + System.out.println("5.- Cortar un conjunto de líneas, (marcadas por su posición inicial y final)."); + System.out.println("6.- Pegar un conjunto de líneas, (marcadas por su posición)."); + System.out.println("7.- Imprimir el fichero"); + + System.out.println("Escribe la opción (0-7):"); + return new Scanner(System.in).nextInt(); + } + +}