diff --git a/src/tutorialJava/UtilsArrays.java b/src/tutorialJava/UtilsArrays.java index 1a76d86..0efd5d7 100644 --- a/src/tutorialJava/UtilsArrays.java +++ b/src/tutorialJava/UtilsArrays.java @@ -2,24 +2,184 @@ package tutorialJava; public class UtilsArrays { - /** - * - * @param a - */ - public static void inicializarArray(int a[], int limiteSup) { - for (int i = 0; i < a.length; i++) { - a[i] = (int) Math.round(Math.random() * limiteSup); - } - } /** - * - * @param a + * Imprime el array en consola, de forma que queda en una única línea y con + * un espacio en blanco entre valores + * @param num */ - public static void muestraArray(int a[]) { + public static void imprimeArray (int a[]) { for (int i = 0; i < a.length; i++) { System.out.print(a[i] + " "); } + System.out.println(); } + /** + * Imprime el array en consola, de forma que queda en una única línea y con + * un espacio en blanco entre valores + * @param num + */ + public static void imprimeArray (char a[]) { + for (int i = 0; i < a.length; i++) { + System.out.print(a[i] + " "); + } + System.out.println(); + } + + /** + * + * @param a + * @param limInf + * @param limSup + */ + public static void inicializaArray (int a[], int limInf, int limSup) { + for (int i = 0; i < a.length; i++) { + a[i] = Utils.obtenerNumeroAzar(limInf, limSup); + } + } + + + /** + * + * @param array + * @return + */ + public static int suma (int array[]) { + int suma = 0; + for (int i = 0; i < array.length; i++) { + suma += array[i]; + } + return suma; + } + + + /** + * + * @param array + * @return + */ + public static float promedia (int array[]) { + return suma(array) / (float) array.length; + } + + + /** + * + * @param array + * @return + */ + public static int mayor (int array[]) { + int mayor = array[0]; + for (int i = 1; i < array.length; i++) { + if (array[i] > mayor) mayor = array[i]; + } + return mayor; + } + + /** + * + * @param array + * @return + */ + public static int menor (int array[]) { + int menor = array[0]; + for (int i = 1; i < array.length; i++) { + if (array[i] < menor) menor = array[i]; + } + return menor; + } + + + + /** + * + * @param filas + * @param cols + * @param valorInicial + * @return + */ + public static int[][] creaEInicializaMatriz (int filas, int cols, int valorInicial) { + int m[][] = new int[filas][cols]; + + for (int i = 0; i < m.length; i++) { + for (int j = 0; j < m[i].length; j++) { + m[i][j] = valorInicial; + } + } + + return m; + } + + + /** + * + * @param filas + * @param cols + * @param minimo + * @param maximo + * @return + */ + public static int[][] creaEInicializaMatrizAlAzar ( + int filas, int cols, int minimo, int maximo) { + + int m[][] = new int[filas][cols]; + + for (int i = 0; i < m.length; i++) { + for (int j = 0; j < m[i].length; j++) { + m[i][j] = Utils.obtenerNumeroAzar(minimo, maximo); + } + } + + return m; + } + + + /** + * + * @param m + */ + public static void imprimeMatriz (int m[][]) { + for (int i = 0; i < m.length; i++) { + for (int j = 0; j < m[i].length; j++) { + System.out.print(m[i][j] + "\t"); + } + System.out.println(); + } + } + + + public static void ordenaArray (int a[], boolean asc) { + boolean hayIntercambios; + do { + hayIntercambios = false; + for (int i = 0; i < (a.length - 1); i++) { + if ((asc == true && a[i] > a[i + 1]) + || (asc == false && a[i] < a[i + 1])) { + int aux = a[i]; + a[i] = a[i + 1]; + a[i + 1] = aux; + hayIntercambios = true; + } + } + } while (hayIntercambios == true); + + } + + public static void ordenaArray(int[] a) { + ordenaArray(a, true); + } } + + + + + + + + + + + + + diff --git a/src/tutorialJava/capitulo4_Arrays/Ej03_ArraysDeCaracteres.java b/src/tutorialJava/capitulo4_Arrays/Ej03_ArraysDeCaracteres.java new file mode 100644 index 0000000..adbb230 --- /dev/null +++ b/src/tutorialJava/capitulo4_Arrays/Ej03_ArraysDeCaracteres.java @@ -0,0 +1,44 @@ +package tutorialJava.capitulo4_Arrays; + +import tutorialJava.UtilsArrays; + +public class Ej03_ArraysDeCaracteres { + + public static void main(String[] args) { +// char a[] = new char[] {'H', 'o', 'l', 'a'}; +// +// for (int i = 0; i < a.length; i++) { +// System.out.println((int) a[i]); +// } + + +// int a[] = new int[10]; +// UtilsArrays.inicializaArray(a, 97, 122); +// for (int i = 0; i < a.length; i++) { +// System.out.print(a[i]); +// System.out.println(" " + ((char) a[i])); +// } + + String str = "HolA"; + for (int i = 0; i < str.length(); i++) { + int valorNumChar = (int) str.charAt(i); + if (valorNumChar >= 97 && valorNumChar <=122) { // minúsculas + System.out.print(str.charAt(i)); + } + else { + if (valorNumChar >= 65 && valorNumChar <= 90) { // mayúsculas + System.out.print( (char) (valorNumChar + 32) ); + } + } + } + } +} + + + + + + + + + diff --git a/src/tutorialJava/capitulo4_Arrays/EjemploMetodos.java b/src/tutorialJava/capitulo4_Arrays/EjemploMetodos.java index 77dddae..f9762c2 100644 --- a/src/tutorialJava/capitulo4_Arrays/EjemploMetodos.java +++ b/src/tutorialJava/capitulo4_Arrays/EjemploMetodos.java @@ -6,8 +6,8 @@ public class EjemploMetodos { public static void main(String[] args) { int array[] = new int[10]; - UtilsArrays.inicializarArray(array, 10000); - UtilsArrays.muestraArray(array); + UtilsArrays.inicializaArray(array, 0, 10000); + UtilsArrays.imprimeArray(array); } diff --git a/src/tutorialJava/capitulo4_Arrays/ejercicios/bloque01/Ejercicio01_150ElementosEnArray_SumaMediaMayorMenor.java b/src/tutorialJava/capitulo4_Arrays/ejercicios/bloque01/Ejercicio01_150ElementosEnArray_SumaMediaMayorMenor.java new file mode 100644 index 0000000..2317f96 --- /dev/null +++ b/src/tutorialJava/capitulo4_Arrays/ejercicios/bloque01/Ejercicio01_150ElementosEnArray_SumaMediaMayorMenor.java @@ -0,0 +1,39 @@ +package tutorialJava.capitulo4_Arrays.ejercicios.bloque01; + +import tutorialJava.Utils; +import tutorialJava.UtilsArrays; + +public class Ejercicio01_150ElementosEnArray_SumaMediaMayorMenor { + + public static void main(String[] args) { + int array[] = new int[500]; + + UtilsArrays.inicializaArray(array, 0, 100); + + UtilsArrays.imprimeArray(array); + + + // Imprimo resultados + System.out.println("Suma: " + UtilsArrays.suma(array) + + " - Media: " + UtilsArrays.promedia(array) + + " - Menor: " + UtilsArrays.menor(array) + + " - Mayor: " + UtilsArrays.mayor(array)); + + } + + + +} + + + + + + + + + + + + + diff --git a/src/tutorialJava/capitulo4_Arrays/ejercicios/bloque01/Ejercicio02_150ElementosEnArray_SumaMediaMayorMenorEntreLimites.java b/src/tutorialJava/capitulo4_Arrays/ejercicios/bloque01/Ejercicio02_150ElementosEnArray_SumaMediaMayorMenorEntreLimites.java new file mode 100644 index 0000000..9519271 --- /dev/null +++ b/src/tutorialJava/capitulo4_Arrays/ejercicios/bloque01/Ejercicio02_150ElementosEnArray_SumaMediaMayorMenorEntreLimites.java @@ -0,0 +1,46 @@ +package tutorialJava.capitulo4_Arrays.ejercicios.bloque01; + +import java.util.Scanner; + +import tutorialJava.Utils; +import tutorialJava.UtilsArrays; + +public class Ejercicio02_150ElementosEnArray_SumaMediaMayorMenorEntreLimites { + + public static void main(String[] args) { + int array[] = new int[5], suma = 0, mayor, menor; + int limInf, limSup; + float media; + + limInf = Utils.pideNumeroEntero("Introduzca límite inferior: "); + limSup = Utils.pideNumeroEntero("Introduzca límite superior: "); + + UtilsArrays.inicializaArray(array, limInf, limSup); + + UtilsArrays.imprimeArray(array); + + // Imprimo resultados + System.out.println("Suma: " + UtilsArrays.suma(array) + + " - Media: " + UtilsArrays.promedia(array) + + " - Menor: " + UtilsArrays.menor(array) + + " - Mayor: " + UtilsArrays.mayor(array)); + + + } + + + +} + + + + + + + + + + + + + diff --git a/src/tutorialJava/capitulo4_Arrays/ejercicios/bloque01/Ejercicio03_MuestraArrayEnOrdenInverso.java b/src/tutorialJava/capitulo4_Arrays/ejercicios/bloque01/Ejercicio03_MuestraArrayEnOrdenInverso.java new file mode 100644 index 0000000..243d25e --- /dev/null +++ b/src/tutorialJava/capitulo4_Arrays/ejercicios/bloque01/Ejercicio03_MuestraArrayEnOrdenInverso.java @@ -0,0 +1,20 @@ +package tutorialJava.capitulo4_Arrays.ejercicios.bloque01; + +import tutorialJava.UtilsArrays; + +public class Ejercicio03_MuestraArrayEnOrdenInverso { + + public static void main(String[] args) { + int array[] = new int[5]; + + UtilsArrays.inicializaArray(array, 0, 100); + + UtilsArrays.imprimeArray(array); + + for (int i = array.length-1; i >= 0; i--) { + System.out.print(array[i] + " "); + } + + } + +} diff --git a/src/tutorialJava/capitulo4_Arrays/ejercicios/bloque01/Ejercicio04_EncuentraElementoEnArray.java b/src/tutorialJava/capitulo4_Arrays/ejercicios/bloque01/Ejercicio04_EncuentraElementoEnArray.java new file mode 100644 index 0000000..0c8313d --- /dev/null +++ b/src/tutorialJava/capitulo4_Arrays/ejercicios/bloque01/Ejercicio04_EncuentraElementoEnArray.java @@ -0,0 +1,34 @@ +package tutorialJava.capitulo4_Arrays.ejercicios.bloque01; + +import tutorialJava.Utils; +import tutorialJava.UtilsArrays; + +public class Ejercicio04_EncuentraElementoEnArray { + + public static void main(String[] args) { + int array[] = new int[5]; + int numBuscado; + + UtilsArrays.inicializaArray(array, 0, 100); + + UtilsArrays.imprimeArray(array); + + numBuscado = Utils.pideNumeroEntero("Número que deseas encontrar: "); + + for (int i = 0; i < array.length; i++) { + if (numBuscado == array[i]) { + System.out.println("Encontrado en posición " + i); + return; + } + } + System.out.println("El número no existe en el array"); + } + +} + + + + + + + diff --git a/src/tutorialJava/capitulo4_Arrays/ejercicios/bloque01/Ejercicio05_SumaValoresParesEImpares.java b/src/tutorialJava/capitulo4_Arrays/ejercicios/bloque01/Ejercicio05_SumaValoresParesEImpares.java new file mode 100644 index 0000000..a48ea1b --- /dev/null +++ b/src/tutorialJava/capitulo4_Arrays/ejercicios/bloque01/Ejercicio05_SumaValoresParesEImpares.java @@ -0,0 +1,36 @@ +package tutorialJava.capitulo4_Arrays.ejercicios.bloque01; + +import tutorialJava.Utils; +import tutorialJava.UtilsArrays; + +public class Ejercicio05_SumaValoresParesEImpares { + + public static void main(String[] args) { + int array[] = new int[5]; + int sumaPares = 0, sumaImpares = 0; + + UtilsArrays.inicializaArray(array, 0, 100); + + UtilsArrays.imprimeArray(array); + + for (int i = 0; i < array.length; i++) { + if (array[i] % 2 == 0) { + sumaPares += array[i]; + } + else { + sumaImpares += array[i]; + } + } + + System.out.println("Suma pares: " + sumaPares + " - " + + "Suma impares: " + sumaImpares); + } + +} + + + + + + + diff --git a/src/tutorialJava/capitulo4_Arrays/ejercicios/bloque01/Ejercicio06_SumaValoresIndicePar.java b/src/tutorialJava/capitulo4_Arrays/ejercicios/bloque01/Ejercicio06_SumaValoresIndicePar.java new file mode 100644 index 0000000..7856d44 --- /dev/null +++ b/src/tutorialJava/capitulo4_Arrays/ejercicios/bloque01/Ejercicio06_SumaValoresIndicePar.java @@ -0,0 +1,36 @@ +package tutorialJava.capitulo4_Arrays.ejercicios.bloque01; + +import tutorialJava.Utils; +import tutorialJava.UtilsArrays; + +public class Ejercicio06_SumaValoresIndicePar { + + public static void main(String[] args) { + int array[] = new int[5]; + int sumaPares = 0, sumaImpares = 0; + + UtilsArrays.inicializaArray(array, 0, 100); + + UtilsArrays.imprimeArray(array); + + for (int i = 0; i < array.length; i++) { + if (array[i] % 2 == 0) { + sumaPares += array[i]; + } + else { + sumaImpares += array[i]; + } + } + + System.out.println("Suma pares: " + sumaPares); + System.out.println("Suma impares: " + sumaImpares); + } + +} + + + + + + + diff --git a/src/tutorialJava/capitulo4_Arrays/ejercicios/bloque02/Ejercicio01_ParesCambianSignoEnArray.java b/src/tutorialJava/capitulo4_Arrays/ejercicios/bloque02/Ejercicio01_ParesCambianSignoEnArray.java new file mode 100644 index 0000000..71e283f --- /dev/null +++ b/src/tutorialJava/capitulo4_Arrays/ejercicios/bloque02/Ejercicio01_ParesCambianSignoEnArray.java @@ -0,0 +1,31 @@ +package tutorialJava.capitulo4_Arrays.ejercicios.bloque02; + +import tutorialJava.UtilsArrays; + +public class Ejercicio01_ParesCambianSignoEnArray { + + /** + * + * @param args + */ + public static void main (String args[]) { + int a[] = new int[15]; + UtilsArrays.inicializaArray(a, -100, 100); + UtilsArrays.imprimeArray(a); + cambiaSignoEnValores(a); + UtilsArrays.imprimeArray(a); + } + + /** + * + * @param array + */ + public static void cambiaSignoEnValores(int array[]) { + for (int i = 0; i < array.length; i++) { + if (array[i] % 2 == 0) { + array[i] = -array[i]; + } + } + } + +} diff --git a/src/tutorialJava/capitulo4_Arrays/ejercicios/bloque02/Ejercicio02_DosArraysCrearTercerArray.java b/src/tutorialJava/capitulo4_Arrays/ejercicios/bloque02/Ejercicio02_DosArraysCrearTercerArray.java new file mode 100644 index 0000000..c6a12dc --- /dev/null +++ b/src/tutorialJava/capitulo4_Arrays/ejercicios/bloque02/Ejercicio02_DosArraysCrearTercerArray.java @@ -0,0 +1,52 @@ +package tutorialJava.capitulo4_Arrays.ejercicios.bloque02; + +import tutorialJava.UtilsArrays; + +public class Ejercicio02_DosArraysCrearTercerArray { + + /** + * + * @param args + */ + public static void main (String args[]) { + int a1[] = new int[15]; + int a2[] = new int[15]; + int a3[]; + + UtilsArrays.inicializaArray(a1, 0, 100); + UtilsArrays.imprimeArray(a1); + UtilsArrays.inicializaArray(a2, 0, 100); + UtilsArrays.imprimeArray(a2); + + a3 = creaTercerArray(a1, a2); + UtilsArrays.imprimeArray(a3); + } + + /** + * + * @param array + */ + public static int[] creaTercerArray (int a1[], int a2[]) { + int a[] = new int[a1.length]; + for (int i = 0; i < a1.length; i++) { + if (i % 2 == 1) { + a[i] = a1[i]; + } + else { + a[i] = a2[i]; + } + } + return a; + } + +} + + + + + + + + + + diff --git a/src/tutorialJava/capitulo4_Arrays/ejercicios/bloque02/Ejercicio03_MultiplicaElementosArray.java b/src/tutorialJava/capitulo4_Arrays/ejercicios/bloque02/Ejercicio03_MultiplicaElementosArray.java new file mode 100644 index 0000000..072f05b --- /dev/null +++ b/src/tutorialJava/capitulo4_Arrays/ejercicios/bloque02/Ejercicio03_MultiplicaElementosArray.java @@ -0,0 +1,46 @@ +package tutorialJava.capitulo4_Arrays.ejercicios.bloque02; + +import tutorialJava.Utils; +import tutorialJava.UtilsArrays; + +public class Ejercicio03_MultiplicaElementosArray { + + /** + * + * @param args + */ + public static void main (String args[]) { + int a1[] = new int[15]; + int factor; + + // Incializo e imprimo el array + UtilsArrays.inicializaArray(a1, 0, 100); + UtilsArrays.imprimeArray(a1); + + factor = Utils.pideNumeroEntero("Por favor, introduzca el factor: "); + + multiplicaValoresPorFactor(a1, factor); + } + + /** + * + * @param a + * @param factor + */ + public static void multiplicaValoresPorFactor (int a[], int factor) { + for (int i = 0; i < a.length; i++) { + a[i] *= factor; + } + } + +} + + + + + + + + + + diff --git a/src/tutorialJava/capitulo4_Arrays/ejercicios/bloque02/Ejercicio04_DeplazamientoCiclicoDerecha.java b/src/tutorialJava/capitulo4_Arrays/ejercicios/bloque02/Ejercicio04_DeplazamientoCiclicoDerecha.java new file mode 100644 index 0000000..eaf00bc --- /dev/null +++ b/src/tutorialJava/capitulo4_Arrays/ejercicios/bloque02/Ejercicio04_DeplazamientoCiclicoDerecha.java @@ -0,0 +1,43 @@ +package tutorialJava.capitulo4_Arrays.ejercicios.bloque02; + +import tutorialJava.Utils; +import tutorialJava.UtilsArrays; + +public class Ejercicio04_DeplazamientoCiclicoDerecha { + + /** + * + * @param args + */ + public static void main (String args[]) { + int a[] = new int[] {1, 2, 3, 4, 5}; + + UtilsArrays.imprimeArray(a); + desplazaCiclicoDerecha(a); + UtilsArrays.imprimeArray(a); + } + + /** + * + * @param a + * @param factor + */ + public static void desplazaCiclicoDerecha (int a[]) { + int aux = a[a.length - 1]; + for (int i = (a.length - 1); i > 0; i--) { + a[i] = a[i - 1]; + } + a[0] = aux; + } + +} + + + + + + + + + + diff --git a/src/tutorialJava/capitulo4_Arrays/ejercicios/bloque02/Ejercicio05_DeplazamientoCiclicoDerechaLugaresPersonalizados.java b/src/tutorialJava/capitulo4_Arrays/ejercicios/bloque02/Ejercicio05_DeplazamientoCiclicoDerechaLugaresPersonalizados.java new file mode 100644 index 0000000..f54c194 --- /dev/null +++ b/src/tutorialJava/capitulo4_Arrays/ejercicios/bloque02/Ejercicio05_DeplazamientoCiclicoDerechaLugaresPersonalizados.java @@ -0,0 +1,48 @@ +package tutorialJava.capitulo4_Arrays.ejercicios.bloque02; + +import tutorialJava.Utils; +import tutorialJava.UtilsArrays; + +public class Ejercicio05_DeplazamientoCiclicoDerechaLugaresPersonalizados { + + /** + * + * @param args + */ + public static void main (String args[]) { + int a[] = new int[] {1, 2, 3, 4, 5}; + int posiciones; + + UtilsArrays.imprimeArray(a); + + posiciones = Utils.pideNumeroEntero("Indica cantidad de posiciones a derecha: "); + desplazaCiclicoDerecha(a, posiciones); + UtilsArrays.imprimeArray(a); + } + + /** + * + * @param a + * @param factor + */ + public static void desplazaCiclicoDerecha (int a[], int posicionesARotar) { + for (int repeticiones = 0; repeticiones < posicionesARotar; repeticiones++) { + int aux = a[a.length - 1]; + for (int i = (a.length - 1); i > 0; i--) { + a[i] = a[i - 1]; + } + a[0] = aux; + } + } + +} + + + + + + + + + + diff --git a/src/tutorialJava/capitulo4_Arrays/ejercicios/bloque02/Ejercicio06_DeplazamientoCiclicoLugaresYDireccionPersonalizadas.java b/src/tutorialJava/capitulo4_Arrays/ejercicios/bloque02/Ejercicio06_DeplazamientoCiclicoLugaresYDireccionPersonalizadas.java new file mode 100644 index 0000000..d21a249 --- /dev/null +++ b/src/tutorialJava/capitulo4_Arrays/ejercicios/bloque02/Ejercicio06_DeplazamientoCiclicoLugaresYDireccionPersonalizadas.java @@ -0,0 +1,61 @@ +package tutorialJava.capitulo4_Arrays.ejercicios.bloque02; + +import tutorialJava.Utils; +import tutorialJava.UtilsArrays; + +public class Ejercicio06_DeplazamientoCiclicoLugaresYDireccionPersonalizadas { + + /** + * + * @param args + */ + public static void main (String args[]) { + int a[] = new int[] {1, 2, 3, 4, 5}; + int posiciones, direccion; + + UtilsArrays.imprimeArray(a); + + posiciones = Utils.pideNumeroEntero("Indica cantidad de posiciones: "); + direccion = Utils.pideNumeroEntero("Indica dirección (0-Izquierda, 1-Derecha): "); + desplazaCiclico(a, posiciones, direccion); + UtilsArrays.imprimeArray(a); + } + + /** + * + * @param a + * @param factor + */ + public static void desplazaCiclico (int a[], int posiciones, int direccion) { + + if (direccion == 1) { // Se desea desplazar a derecha + for (int repeticiones = 0; repeticiones < posiciones; repeticiones++) { + int aux = a[a.length - 1]; + for (int i = (a.length - 1); i > 0; i--) { + a[i] = a[i - 1]; + } + a[0] = aux; + } + } + else { // Se desea desplazar a izquierda + for (int repeticiones = 0; repeticiones < posiciones; repeticiones++) { + int aux = a[0]; + for (int i = 0; i < (a.length - 1); i++) { + a[i] = a[i + 1]; + } + a[a.length - 1] = aux; + } + } + } + +} + + + + + + + + + +