From 1c0792b02727b73cba5a43d006d90b911ae6cb0d Mon Sep 17 00:00:00 2001 From: Josemargal <126793937+Josemargal@users.noreply.github.com> Date: Wed, 14 May 2025 17:43:53 +0200 Subject: [PATCH] sol lab --- .idea/.gitignore | 5 ++ .idea/compiler.xml | 13 +++++ .idea/encodings.xml | 7 +++ .idea/extra-lab-semana-1.iml | 9 ++++ .idea/jarRepositories.xml | 20 ++++++++ .idea/misc.xml | 14 +++++ .idea/modules.xml | 8 +++ .idea/vcs.xml | 6 +++ SolLab/pom.xml | 17 +++++++ SolLab/src/main/java/AverageCalculator.java | 33 ++++++++++++ SolLab/src/main/java/FileWriterExample.java | 47 +++++++++++++++++ SolLab/src/main/java/MultiplicationTable.java | 27 ++++++++++ SolLab/src/main/java/NumberGuessingGame.java | 48 ++++++++++++++++++ SolLab/src/main/java/VowelCounter.java | 36 +++++++++++++ SolLab/target/classes/AverageCalculator.class | Bin 0 -> 1627 bytes SolLab/target/classes/FileWriterExample.class | Bin 0 -> 2056 bytes .../target/classes/MultiplicationTable.class | Bin 0 -> 1511 bytes .../target/classes/NumberGuessingGame.class | Bin 0 -> 1952 bytes SolLab/target/classes/VowelCounter.class | Bin 0 -> 1688 bytes 19 files changed, 290 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/compiler.xml create mode 100644 .idea/encodings.xml create mode 100644 .idea/extra-lab-semana-1.iml create mode 100644 .idea/jarRepositories.xml create mode 100644 .idea/misc.xml create mode 100644 .idea/modules.xml create mode 100644 .idea/vcs.xml create mode 100644 SolLab/pom.xml create mode 100644 SolLab/src/main/java/AverageCalculator.java create mode 100644 SolLab/src/main/java/FileWriterExample.java create mode 100644 SolLab/src/main/java/MultiplicationTable.java create mode 100644 SolLab/src/main/java/NumberGuessingGame.java create mode 100644 SolLab/src/main/java/VowelCounter.java create mode 100644 SolLab/target/classes/AverageCalculator.class create mode 100644 SolLab/target/classes/FileWriterExample.class create mode 100644 SolLab/target/classes/MultiplicationTable.class create mode 100644 SolLab/target/classes/NumberGuessingGame.class create mode 100644 SolLab/target/classes/VowelCounter.class diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..a0ccf77 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,5 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Environment-dependent path to Maven home directory +/mavenHomeManager.xml diff --git a/.idea/compiler.xml b/.idea/compiler.xml new file mode 100644 index 0000000..d15285f --- /dev/null +++ b/.idea/compiler.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/encodings.xml b/.idea/encodings.xml new file mode 100644 index 0000000..391ad74 --- /dev/null +++ b/.idea/encodings.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/.idea/extra-lab-semana-1.iml b/.idea/extra-lab-semana-1.iml new file mode 100644 index 0000000..d6ebd48 --- /dev/null +++ b/.idea/extra-lab-semana-1.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/jarRepositories.xml b/.idea/jarRepositories.xml new file mode 100644 index 0000000..712ab9d --- /dev/null +++ b/.idea/jarRepositories.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..379d817 --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,14 @@ + + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..c3b2535 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/SolLab/pom.xml b/SolLab/pom.xml new file mode 100644 index 0000000..3132891 --- /dev/null +++ b/SolLab/pom.xml @@ -0,0 +1,17 @@ + + + 4.0.0 + + org.example + SolLab + 1.0-SNAPSHOT + + + 21 + 21 + UTF-8 + + + \ No newline at end of file diff --git a/SolLab/src/main/java/AverageCalculator.java b/SolLab/src/main/java/AverageCalculator.java new file mode 100644 index 0000000..d5a2bdf --- /dev/null +++ b/SolLab/src/main/java/AverageCalculator.java @@ -0,0 +1,33 @@ +import java.util.Scanner; + +public class AverageCalculator { + public static void main(String[] args) { + // Paso 1: Declarar una variable Scanner para leer la entrada del usuario + Scanner scanner = new Scanner(System.in); + + // Paso 2: Pedir al usuario que introduzca la cantidad de números + System.out.print("Ingrese la cantidad de números que desea promediar: "); + int count = scanner.nextInt(); + + // Paso 3: Declarar variables para la suma y el promedio + double sum = 0; + + // Paso 4: Utilizar un bucle for para pedir cada número + for (int i = 1; i <= count; i++) { + System.out.print("Ingrese el número " + i + ": "); + double number = scanner.nextDouble(); + + // Paso 5: Sumar cada número ingresado + sum += number; + } + + // Paso 6: Calcular el promedio + double average = sum / count; + + // Paso 7: Mostrar el resultado + System.out.println("El promedio de los " + count + " números es: " + average); + + // Cerrar el scanner + scanner.close(); + } +} \ No newline at end of file diff --git a/SolLab/src/main/java/FileWriterExample.java b/SolLab/src/main/java/FileWriterExample.java new file mode 100644 index 0000000..cbef432 --- /dev/null +++ b/SolLab/src/main/java/FileWriterExample.java @@ -0,0 +1,47 @@ +import java.io.FileWriter; +import java.io.IOException; +import java.util.Scanner; + +public class FileWriterExample { + public static void main(String[] args) { + // Paso 1: Declarar una variable Scanner para leer la entrada del usuario + Scanner scanner = new Scanner(System.in); + + try { + // Paso 2: Pedir al usuario que introduzca el nombre del archivo + System.out.print("Ingrese el nombre del archivo donde desea escribir: "); + String fileName = scanner.nextLine(); + + // Paso 3: Crear un objeto FileWriter para escribir en el archivo + FileWriter writer = new FileWriter(fileName); + + // Paso 4: Instruir al usuario sobre cómo introducir líneas de texto + System.out.println("Ingrese líneas de texto (línea vacía para terminar):"); + + // Paso 5: Utilizar un bucle while para leer líneas hasta que se introduzca una línea vacía + String line; + while (true) { + line = scanner.nextLine(); + + // Si la línea está vacía, salir del bucle + if (line.isEmpty()) { + break; + } + + // Paso 6: Escribir la línea en el archivo seguida de un salto de línea + writer.write(line + "\n"); + } + + // Paso 7: Cerrar el FileWriter + writer.close(); + + System.out.println("Las líneas se han escrito correctamente en el archivo " + fileName); + + } catch (IOException e) { + System.out.println("Error al escribir en el archivo: " + e.getMessage()); + } finally { + // Cerrar el scanner + scanner.close(); + } + } +} diff --git a/SolLab/src/main/java/MultiplicationTable.java b/SolLab/src/main/java/MultiplicationTable.java new file mode 100644 index 0000000..87b0994 --- /dev/null +++ b/SolLab/src/main/java/MultiplicationTable.java @@ -0,0 +1,27 @@ +import java.util.Scanner; + +public class MultiplicationTable { + public static void main(String[] args) { + // Paso 1: Declarar una variable Scanner para leer la entrada del usuario + Scanner scanner = new Scanner(System.in); + + // Paso 2: Pedir al usuario que introduzca un número entero + System.out.print("Ingrese un número para generar su tabla de multiplicar: "); + int number = scanner.nextInt(); + + // Paso 3: Mostrar encabezado + System.out.println("Tabla de multiplicar del " + number + ":"); + + // Paso 4: Utilizar un bucle for para generar la tabla de multiplicar del 1 al 10 + for (int i = 1; i <= 10; i++) { + // Paso 5: Calcular el resultado de la multiplicación + int result = number * i; + + // Paso 6: Mostrar cada línea de la tabla de multiplicar + System.out.println(number + " x " + i + " = " + result); + } + + // Cerrar el scanner + scanner.close(); + } +} diff --git a/SolLab/src/main/java/NumberGuessingGame.java b/SolLab/src/main/java/NumberGuessingGame.java new file mode 100644 index 0000000..5b23538 --- /dev/null +++ b/SolLab/src/main/java/NumberGuessingGame.java @@ -0,0 +1,48 @@ +import java.util.Random; +import java.util.Scanner; + +public class NumberGuessingGame { + public static void main(String[] args) { + // Paso 1: Declarar una variable Scanner para leer la entrada del usuario + Scanner scanner = new Scanner(System.in); + + // Paso 2: Generar un número aleatorio entre 1 y 100 + Random random = new Random(); + int secretNumber = random.nextInt(100) + 1; + + // Paso 3: Inicializar variables para el juego + int guess; + int attempts = 0; + boolean hasGuessed = false; + + // Paso 4: Dar instrucciones al usuario + System.out.println("¡Bienvenido al Juego de Adivinanza de Números!"); + System.out.println("He pensado en un número entre 1 y 100."); + + // Paso 5: Utilizar un bucle while para permitir múltiples intentos + while (!hasGuessed) { + // Paso 6: Pedir al usuario que adivine el número + System.out.print("Adivina el número: "); + guess = scanner.nextInt(); + attempts++; + + // Paso 7: Comprobar si el usuario ha adivinado correctamente + if (guess == secretNumber) { + hasGuessed = true; + } else if (guess < secretNumber) { + // Paso 8: Dar una pista si el número es mayor + System.out.println("El número es mayor. Intenta de nuevo."); + } else { + // Paso 9: Dar una pista si el número es menor + System.out.println("El número es menor. Intenta de nuevo."); + } + } + + // Paso 10: Mostrar mensaje de felicitación y número de intentos + System.out.println("¡Felicidades! Has adivinado el número " + secretNumber + " correctamente."); + System.out.println("Número de intentos: " + attempts); + + // Cerrar el scanner + scanner.close(); + } +} diff --git a/SolLab/src/main/java/VowelCounter.java b/SolLab/src/main/java/VowelCounter.java new file mode 100644 index 0000000..3be7b67 --- /dev/null +++ b/SolLab/src/main/java/VowelCounter.java @@ -0,0 +1,36 @@ +import java.util.Scanner; + +public class VowelCounter { + public static void main(String[] args) { + // Paso 1: Declarar una variable Scanner para leer la entrada del usuario + Scanner scanner = new Scanner(System.in); + + // Paso 2: Pedir al usuario que introduzca una frase + System.out.print("Ingrese una frase para contar sus vocales: "); + String phrase = scanner.nextLine(); + + // Paso 3: Convertir la frase a minúsculas para simplificar la comprobación + phrase = phrase.toLowerCase(); + + // Paso 4: Declarar un contador para las vocales + int vowelCount = 0; + + // Paso 5: Utilizar un bucle for para recorrer cada carácter de la frase + for (int i = 0; i < phrase.length(); i++) { + char ch = phrase.charAt(i); + + // Paso 6: Verificar si el carácter es una vocal + if (ch == 'a' || ch == 'e' || ch == 'i' || ch == 'o' || ch == 'u' || + ch == 'á' || ch == 'é' || ch == 'í' || ch == 'ó' || ch == 'ú') { + // Paso 7: Incrementar el contador si es una vocal + vowelCount++; + } + } + + // Paso 8: Mostrar el número total de vocales + System.out.println("La frase contiene " + vowelCount + " vocales."); + + // Cerrar el scanner + scanner.close(); + } +} \ No newline at end of file diff --git a/SolLab/target/classes/AverageCalculator.class b/SolLab/target/classes/AverageCalculator.class new file mode 100644 index 0000000000000000000000000000000000000000..4dc3cb9e22789436400d831e316de0e1002cf2f4 GIT binary patch literal 1627 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 literal 0 HcmV?d00001 diff --git a/SolLab/target/classes/VowelCounter.class b/SolLab/target/classes/VowelCounter.class new file mode 100644 index 0000000000000000000000000000000000000000..709096b493548d4151225ba80c1e41c16957dc6f GIT binary patch literal 1688 zcmaJ>&u<$=6#mA)*0Hy364y=AHi?_0U^gL#1_G^1XlqDfaMFT*Qjz!r_%Aqe;KVILlsDdlxQfL}yKiUa&3oVX-lzB5KTm!I za08zv5JK2M#6%P^hW`6}o97)aYx!Fn_l2bxV%KbGs|AK|Hdi$eXBg->wUq7TD;Aeh zczsA9X}~mb0wnPZ5&z6V5;uvC>F3FlFe35BMp83q<^w;Db&seTh+{^eaKeO#x+!6lO zOadb~Yv7!T^B84F9U|-s$`Ebp6qNG-UZ+3=-eLU=mXXE}D2wyLZ()2*;3AZrS}@ctwJ(y|X5AxI}$$gsiE0rw=84Fk|8c%+i5X z=iUuM7s-}##X;)pizZ&eWrm>!-x5VvT3p?+Rh|BP#ijB!ky1}^BY4@wE4mOyhq5Cz zxmQiRrqvO(9M=~Ht}>Wa!sry;mQ=!{)J1obD4){IS6ht@;jQrvhjs?by3keb*?N7j z8BukcK%6Xh2PsgL2G=qIVMqd=)1{=~o!#7XBtxNgN# zwpg>SrJ*q%ss5m;42kXk2r`_gC~j@7@MedAfh9VxxGm2Ti?(Jt&`o4kN2Au>bY0~u zk2hC@s=J$h92JK1lF+BhuDjK07LHTx+Ii;U+D=pSaPKa4Fd_=wN;(Kp(=;{bFoZ907GKl)8`^z{34BL0MDt&udvjRDO%$nc6A*Y4Zy`b_ zyI8~$*(AQjGD=jHVSI(R@eUPv96KnJUl=RoF^0%fx*9dGYQQis$*8`6W1a0Iv`