From f8035afcb701b495e80bf44c3a2d5f571d729cbb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=20Mu=C3=B1oz?= Date: Mon, 25 Nov 2024 12:07:39 +0100 Subject: [PATCH] feat(test 20241122): solved --- .../EjA_InvertirOrdenArray.java | 23 ++++++++ .../EjB_GenerarMatrizDesdeArrayString.java | 36 +++++++++++++ .../EjC_OrdenarArrayPorCantidadDivisores.java | 53 +++++++++++++++++++ .../EjD_StringDeCamelCaseASnakeCase.java | 31 +++++++++++ 4 files changed, 143 insertions(+) create mode 100644 src/tutorialJava/examenes/examen20241122/EjA_InvertirOrdenArray.java create mode 100644 src/tutorialJava/examenes/examen20241122/EjB_GenerarMatrizDesdeArrayString.java create mode 100644 src/tutorialJava/examenes/examen20241122/EjC_OrdenarArrayPorCantidadDivisores.java create mode 100644 src/tutorialJava/examenes/examen20241122/EjD_StringDeCamelCaseASnakeCase.java diff --git a/src/tutorialJava/examenes/examen20241122/EjA_InvertirOrdenArray.java b/src/tutorialJava/examenes/examen20241122/EjA_InvertirOrdenArray.java new file mode 100644 index 0000000..e21f16c --- /dev/null +++ b/src/tutorialJava/examenes/examen20241122/EjA_InvertirOrdenArray.java @@ -0,0 +1,23 @@ +package tutorialJava.examenes.examen20241122; + +import tutorialJava.UtilsArrays; + +public class EjA_InvertirOrdenArray { + + public static void main(String[] args) { + int a[] = new int[10]; + UtilsArrays.inicializaArray(a, -100, 100); + UtilsArrays.imprimeArray(a); + invierteArray(a); + UtilsArrays.imprimeArray(a); + } + + + public static void invierteArray (int a[]) { + for (int i = 0; i < a.length / 2; i++) { + int aux = a[i]; + a[i] = a[a.length - 1 - i]; + a[a.length - 1 - i] = aux; + } + } +} diff --git a/src/tutorialJava/examenes/examen20241122/EjB_GenerarMatrizDesdeArrayString.java b/src/tutorialJava/examenes/examen20241122/EjB_GenerarMatrizDesdeArrayString.java new file mode 100644 index 0000000..ddb09cb --- /dev/null +++ b/src/tutorialJava/examenes/examen20241122/EjB_GenerarMatrizDesdeArrayString.java @@ -0,0 +1,36 @@ +package tutorialJava.examenes.examen20241122; + +import tutorialJava.UtilsArrays; + +public class EjB_GenerarMatrizDesdeArrayString { + + public static void main(String[] args) { + String p[] = new String[] {"hola", "adios", "rojo", "azul"}; + + char m[][] = new char[p.length][maximaLongitdPalabraEnArray(p)]; + + for (int i = 0; i < m.length; i++) { + for (int j = 0; j < m[i].length; j++) { + if (j < p[i].length()) { + m[i][j] = p[i].charAt(j); + } + else { + m[i][j] = '_'; + } + } + } + + UtilsArrays.imprimeMatriz(m); + } + + + public static int maximaLongitdPalabraEnArray(String a[]) { + int mayor = a[0].length(); + for (int i = 1; i < a.length; i++) { + if (a[i].length() > mayor) { + mayor = a[i].length(); + } + } + return mayor; + } +} diff --git a/src/tutorialJava/examenes/examen20241122/EjC_OrdenarArrayPorCantidadDivisores.java b/src/tutorialJava/examenes/examen20241122/EjC_OrdenarArrayPorCantidadDivisores.java new file mode 100644 index 0000000..0836065 --- /dev/null +++ b/src/tutorialJava/examenes/examen20241122/EjC_OrdenarArrayPorCantidadDivisores.java @@ -0,0 +1,53 @@ +package tutorialJava.examenes.examen20241122; + +import tutorialJava.UtilsArrays; + +public class EjC_OrdenarArrayPorCantidadDivisores { + + public static void main(String[] args) { + int a[] = new int[10]; + UtilsArrays.inicializaArray(a, 0, 100); + UtilsArrays.imprimeArray(a); + ordenaBurbuja(a); + UtilsArrays.imprimeArray(a); + } + + + public static void ordenaBurbuja(int a[]) { + boolean hayIntercambios = false; + do { + hayIntercambios = false; + for (int i = 0; i < a.length - 1; i++) { + if (cantidadDivisores(a[i]) > cantidadDivisores(a[i + 1])) { + int aux = a[i]; + a[i] = a[i + 1]; + a[i + 1] = aux; + hayIntercambios = true; + } + } + } while (hayIntercambios == true); + + } + + /** + * + * @param n + * @return + */ + public static int cantidadDivisores(int n) { + int contDivisores = 0; + for (int i = 2; i < n; i++) { + if (n % i == 0) { + contDivisores++; + } + } + return contDivisores; + } + +} + + + + + + diff --git a/src/tutorialJava/examenes/examen20241122/EjD_StringDeCamelCaseASnakeCase.java b/src/tutorialJava/examenes/examen20241122/EjD_StringDeCamelCaseASnakeCase.java new file mode 100644 index 0000000..0afec43 --- /dev/null +++ b/src/tutorialJava/examenes/examen20241122/EjD_StringDeCamelCaseASnakeCase.java @@ -0,0 +1,31 @@ +package tutorialJava.examenes.examen20241122; + +public class EjD_StringDeCamelCaseASnakeCase { + + public static void main(String[] args) { + String str = "estoEsUnEjemploDeNombreDeVariable"; + + System.out.println("snake_case: " + camelCaseASnakeCase(str)); + } + + /** + * + * @param strCamelCase + * @return + */ + public static String camelCaseASnakeCase(String strCamelCase) { + String strSnakeCase = ""; + + for (int i = 0; i < strCamelCase.length(); i++) { + if (strCamelCase.charAt(i) >= 'A' && + strCamelCase.charAt(i) <= 'Z') { + strSnakeCase += "_" + + ((char) (strCamelCase.charAt(i) + 32)); + } + else { + strSnakeCase += strCamelCase.charAt(i); + } + } + return strSnakeCase; + } +}