Ejercicios Capitulo 6 bloque 1
This commit is contained in:
88
src/capitulo06/bloque01/ejercicio01/Main.java
Normal file
88
src/capitulo06/bloque01/ejercicio01/Main.java
Normal 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);
|
||||
|
||||
}
|
||||
}
|
||||
68
src/capitulo06/bloque01/ejercicio02/Main.java
Normal file
68
src/capitulo06/bloque01/ejercicio02/Main.java
Normal 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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user