Ejercicios Capitulo 6 bloque 1

This commit is contained in:
2025-01-12 12:43:35 +01:00
parent 3c469724b0
commit 9174e002ec
2 changed files with 156 additions and 0 deletions

View File

@@ -0,0 +1,88 @@
package capitulo06.bloque01.ejercicio01;
import java.util.ArrayList;
import java.util.List;
import static capitulo04.utils.Utils.*;
public class Main {
public static void main(String[] args) {
List<Integer> listaIntegers = new ArrayList<Integer>();
int opcion = 0;
do {
System.out.println("Seleccione un opción: \n" +
"0 - Abandonar el programa\n" +
"1 - Crear aleatoriamente la lista de valores\n" +
"2 - Calcular suma, media, mayor y menor\n" +
"3 - Agregar una cantidad de nuevos valores\n" +
"4 - Eliminar elementos cuyo valor esté en un intervalo\n" +
"5 - Imprimir la lista");
opcion = solicitarIntScannerInline("> ");
switch (opcion) {
case 1:
int longitudLista = solicitarIntScannerInline("Introduzca la longitud de la lista: ");
int minimoLista = solicitarIntScannerInline("Introduzca el valor mínimo que puede tomar un número de la lista: ");
int maximoLista = solicitarIntScannerInline("Introduzca el valor máximo que puede tomar un número de la lista: ");
listaIntegers.clear();
for (; longitudLista > 0; longitudLista--) {
listaIntegers.add(generarIntAleatorioEntreLimites(minimoLista, maximoLista));
}
break;
case 2:
if (!listaIntegers.isEmpty()) {
int suma = 0;
int mayor = 0;
int menor = 0;
for (int i = 0; i < listaIntegers.size(); i++) {
if (i == 0) {
mayor = listaIntegers.get(i);
menor = listaIntegers.get(i);
}
suma += listaIntegers.get(i);
if (listaIntegers.get(i) > mayor) mayor = listaIntegers.get(i);
if (listaIntegers.get(i) < menor) menor = listaIntegers.get(i);
}
System.out.println("La suma es: " + suma +
"\nLa media es: " + suma / (float) listaIntegers.size() +
"\nEl mayor número es: " + mayor +
"\nEl menor número es: " + menor);
} else System.out.println("La lista está vacía, introduzca sus valores primero.");
break;
case 3:
int cantidadNuevos = solicitarIntScannerInline("Introduzca la longitud de los datos nuevos que va a insertar: ");
int minimoNuevos = solicitarIntScannerInline("Introduzca el valor mínimo que puede tomar un número de la lista: ");
int maximoNuevos = solicitarIntScannerInline("Introduzca el valor máximo que puede tomar un número de la lista: ");
int indiceArray = solicitarIntScannerInline("Introduzca en qué posición de la lista quiere insertar los datos nuevos: ");
List<Integer> numsAdicionales = new ArrayList<Integer>();
for (; cantidadNuevos > 0; cantidadNuevos--) {
numsAdicionales.add(generarIntAleatorioEntreLimites(minimoNuevos, maximoNuevos));
}
listaIntegers.addAll(indiceArray, numsAdicionales);
break;
case 4:
int minimoEliminar = solicitarIntScannerInline("Introduzca el límite mínimo de números a eliminar de la lista: ");
int maximoEliminar = solicitarIntScannerInline("Introduzca el límite máximo de números a eliminar de la lista: ");
List<Integer> numsAEliminar = new ArrayList<Integer>();
for (; minimoEliminar <= maximoEliminar; minimoEliminar++) numsAEliminar.add(minimoEliminar);
int tamanoAntes = listaIntegers.size();
listaIntegers.removeAll(numsAEliminar);
System.out.println("Se han eliminado " + (tamanoAntes - listaIntegers.size()) + " elementos.");
break;
case 5:
System.out.println(listaIntegers.toString());
}
} while (opcion != 0);
}
}

View File

@@ -0,0 +1,68 @@
package capitulo06.bloque01.ejercicio02;
import java.util.ArrayList;
import java.util.List;
import static capitulo04.utils.Utils.*;
public class Main {
public static void main(String[] args) {
List<String> archivo = new ArrayList<String>();
List<String> portapapeles = new ArrayList<String>();
int opcion = 0;
do {
System.out.println("\nSeleccione un opción: \n" +
"0 - Abandonar el programa\n" +
"1 - Agregar una línea al texto\n" +
"2 - Insertar una línea en cualquier posición del texto\n" +
"3 - Editar una línea (reescribir su contenido)\n" +
"4 - Borrar una lína\n" +
"5 - Cortar un conjunto de líneas\n" +
"6 - Pegar un conjunto de líneas cortadas en una determinada posición\n" +
"7 - Imprimir el fichero");
opcion = solicitarIntScannerInline("Elija opción: ");
switch (opcion) {
case 1:
String nuevaLinea = solicitarStringScannerInline("> ");
archivo.add(nuevaLinea);
break;
case 2:
String lineaEnMitad = solicitarStringScannerInline("> ");
int posicion = solicitarIntScannerInline("Insertar en línea: ");
archivo.add(posicion, lineaEnMitad);
break;
case 3:
int lineaAReescribir = solicitarIntScannerInline("Elija línea para reescribir: ");
System.out.println(lineaAReescribir + " | " + archivo.get(lineaAReescribir));
String lineaReescrita = solicitarStringScannerInline("> ");
archivo.remove(lineaAReescribir);
archivo.add(lineaAReescribir,lineaReescrita);
break;
case 4:
int lineaABorrar = solicitarIntScannerInline("Elija línea para borrar: ");
archivo.remove(lineaABorrar);
break;
case 5:
int lineaInicialCortar = solicitarIntScannerInline("Elija la línea desde donde comenzar a cortar: ");
int lineaFinalCortar = solicitarIntScannerInline("Elija la línea desde donde terminar de cortar: ");
for (; lineaInicialCortar <= lineaFinalCortar; lineaInicialCortar++) portapapeles.add(archivo.get(lineaInicialCortar));
archivo.removeAll(portapapeles);
break;
case 6:
int lineaDondePegar = solicitarIntScannerInline("Elija la línea donde pegar el portapapeles: ");
archivo.addAll(lineaDondePegar, portapapeles);
break;
case 7:
for (int i = 0; i < archivo.size(); i++) System.out.println(i + " | " + archivo.get(i));
}
} while (opcion != 0);
}
}