From 5a112e42b0b53924b97f0a743209962f360a4066 Mon Sep 17 00:00:00 2001 From: h4ckx0r Date: Fri, 17 Jan 2025 12:50:33 +0100 Subject: [PATCH] Ejercicios Capitulo 7 bloque 1 --- src/capitulo07/bloque01/HexNums.java | 9 +++++ .../bloque01/LeerFicheroPropiedades.java | 29 +++++++++++++++ src/capitulo07/bloque01/ListaWrappers.java | 35 +++++++++++++++++++ src/capitulo07/bloque01/Password.java | 34 ++++++++++++++++++ .../bloque01/ficheroPropiedades.properties | 4 +++ 5 files changed, 111 insertions(+) create mode 100644 src/capitulo07/bloque01/HexNums.java create mode 100644 src/capitulo07/bloque01/LeerFicheroPropiedades.java create mode 100644 src/capitulo07/bloque01/ListaWrappers.java create mode 100644 src/capitulo07/bloque01/Password.java create mode 100644 src/capitulo07/bloque01/ficheroPropiedades.properties diff --git a/src/capitulo07/bloque01/HexNums.java b/src/capitulo07/bloque01/HexNums.java new file mode 100644 index 0000000..2a54d78 --- /dev/null +++ b/src/capitulo07/bloque01/HexNums.java @@ -0,0 +1,9 @@ +package capitulo07.bloque01; + +public class HexNums { + public static void main(String[] args) { + for (int i = 0; i <= 100; i++) { // Son 101 números, pero bueno, quería incluir el 0 y el 100 + System.out.println("Dec: " + i + " | Hex: " + Integer.toHexString(i)); + } + } +} diff --git a/src/capitulo07/bloque01/LeerFicheroPropiedades.java b/src/capitulo07/bloque01/LeerFicheroPropiedades.java new file mode 100644 index 0000000..2ce130d --- /dev/null +++ b/src/capitulo07/bloque01/LeerFicheroPropiedades.java @@ -0,0 +1,29 @@ +package capitulo07.bloque01; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileReader; +import java.io.IOException; +import java.nio.charset.Charset; +import java.nio.charset.StandardCharsets; +import java.util.Properties; + +public class LeerFicheroPropiedades { + public static void main(String[] args) { + Properties propiedades = new Properties(); + try { + File archivo = new File("./src/capitulo07/bloque01/ficheroPropiedades.properties"); + propiedades.load(new FileReader(archivo, StandardCharsets.UTF_8)); + } catch (FileNotFoundException e) { + System.out.println("No se ha encontrado el fichero"); + } catch (IOException e) { + System.out.println("Error al leer el fichero"); + } + + System.out.println(Charset.availableCharsets()); + System.out.println( "Nombre: " + propiedades.getProperty("NOMBRE")); + System.out.println( "Apellidos: " + propiedades.getProperty("APELLIDOS")); + System.out.println( "Edad: " + Integer.valueOf(propiedades.getProperty("EDAD"))); + + } +} diff --git a/src/capitulo07/bloque01/ListaWrappers.java b/src/capitulo07/bloque01/ListaWrappers.java new file mode 100644 index 0000000..7806c3d --- /dev/null +++ b/src/capitulo07/bloque01/ListaWrappers.java @@ -0,0 +1,35 @@ +package capitulo07.bloque01; + +public class ListaWrappers { + public static void main(String[] args) { + System.out.println("Integer:"); + System.out.println("\tBytes: " + Integer.BYTES); + System.out.println("\tValor Máximo: " + Integer.MAX_VALUE); + System.out.println("\tValor Mínimo: " + Integer.MIN_VALUE); + + System.out.println("\nByte:"); + System.out.println("\tBytes: " + Byte.BYTES); + System.out.println("\tValor Máximo: " + Byte.MAX_VALUE); + System.out.println("\tValor Mínimo: " + Byte.MIN_VALUE); + + System.out.println("\nShort:"); + System.out.println("\tBytes: " + Short.BYTES); + System.out.println("\tValor Máximo: " + Short.MAX_VALUE); + System.out.println("\tValor Mínimo: " + Short.MIN_VALUE); + + System.out.println("\nLong:"); + System.out.println("\tBytes: " + Long.BYTES); + System.out.println("\tValor Máximo: " + Long.MAX_VALUE); + System.out.println("\tValor Mínimo: " + Long.MIN_VALUE); + + System.out.println("\nFloat:"); + System.out.println("\tBytes: " + Float.BYTES); + System.out.println("\tValor Máximo: " + Float.MAX_VALUE); + System.out.println("\tValor Mínimo: " + Float.MIN_VALUE); + + System.out.println("\nDouble:"); + System.out.println("\tBytes: " + Double.BYTES); + System.out.println("\tValor Máximo: " + Double.MAX_VALUE); + System.out.println("\tValor Mínimo: " + Double.MIN_VALUE); + } +} diff --git a/src/capitulo07/bloque01/Password.java b/src/capitulo07/bloque01/Password.java new file mode 100644 index 0000000..f510558 --- /dev/null +++ b/src/capitulo07/bloque01/Password.java @@ -0,0 +1,34 @@ +package capitulo07.bloque01; + +import static capitulo04.utils.Utils.*; + + +public class Password { + public static void main(String[] args) { + boolean mayuscula; + boolean minuscula; + boolean digito; + boolean caracter; + do { + mayuscula = false; + minuscula = false; + digito = false; + caracter = false; + String password = solicitarStringScannerInline("Introduzca una contraseña: "); + + for (Character c : password.toCharArray()) { + if (Character.isUpperCase(c)) mayuscula = true; + if (Character.isLowerCase(c)) minuscula = true; + if (Character.isDigit(c)) digito = true; + if (!Character.isLetterOrDigit(c)) caracter = true; + } + + if (!mayuscula) System.out.println("La contraseña tiene que tener una mayúscula"); + if (!minuscula) System.out.println("La contraseña tiene que tener una minúscula"); + if (!digito) System.out.println("La contraseña tiene que tener un digito"); + if (!caracter) System.out.println("La contraseña tiene que tener un carácter no alfanumérico"); + + } while (!(mayuscula && minuscula && digito && caracter)); + System.out.println("Contraseña guardada correctamente"); + } +} diff --git a/src/capitulo07/bloque01/ficheroPropiedades.properties b/src/capitulo07/bloque01/ficheroPropiedades.properties new file mode 100644 index 0000000..5b4a2fc --- /dev/null +++ b/src/capitulo07/bloque01/ficheroPropiedades.properties @@ -0,0 +1,4 @@ +# Datos del usuario en uso +NOMBRE=Natanael +APELLIDOS=Gómez Ortiz +EDAD=18 \ No newline at end of file