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`