Ejercicios¶
Ejercicio 1
Realiza una función que reciba varios números enteros y devuelva la multiplicación de todos los números enteros.
Ejercicio 2
Realiza una función que reciba un array y devuelva otro array con sus elementos invertidos. Por ejemplo, si recibe {1, 2, 3} devuelve {3, 2, 1}.
Ejercicio 3
Realiza el mismo ejercicio anterior pero haciendo uso de una función recursiva.
Ejercicio 4
Crea un array de caracteres que contengan de la 'A' a la 'Z' (solo mayúsculas). Después, ve pidiendo posiciones de array por teclado y si la posición es correcta, se añadirá a una cadena que se mostrará al final. Se dejará de insertar cuando se introduzca -1.
Ejercicio 5
Realiza el juego del ahorcado. El programa tendrá un array con varias palabras y elegirá de forma aleatoria una al azar.
Se le solicitará al usuario si quiere completar la palabra o escribir un carácter. Si elige la primera opción se le solicitará la palabra, en caso de coincidir con la elegida, mostrará un mensaje de ganador, en caso de fallarla, se le mostrará un mensaje de perdedor y se terminará el juego.
En caso de elegir la segunda opción, se le solicitará al usuario un carácter y se comprobará si forma parte de la palabra, mostrando el avance de la siguiente forma "_ _ _ _ A"
Ejercicio 6
Crea una aplicación de Java con los siguientes métodos:
int[] fillRandomArray(int length)
: Devuelve un array con los elementos aleatorio.void fillRandomArray(int[] array)
: Recibe un array que va a ser rellenado con elementos aleatorios.int[] statistics(int[] array)
: Recibe un array y devuelve otro de 3 posiciones, donde la primera posición se encontrará el elemento del array pasado como parámetro que sea el máximo, en la segunda posición se encontrará el mínimo y la tercera posición se encontrará la suma del array.
Explica las diferencias entre los dos métodos.
Ejercicio 7
Realiza un programa que cree un array bidimensional rellenándolo de valores aleatorios comprendidos entre 1 y 10. Luego crea un array con el mismo array, y el valor de la suma de filas y columnas y el tamaño total. Solicita el tamaño de la matriz por consola.
Ejercicio 8
Realiza una función que reciba un array de tres dimensiones de números decimales y muestre cuál es el elemento mayor y su posición
Ejercicio 8
Realiza una función que reciba un array bidimensional de enteros y devuelva otro array bidimensional con los elementos copiados pero con el doble de columnas. Los elementos nuevos se rellenan con ceros. Por ejemplo, si recibe {{1,2}, {3, 4}, {5, 6}}
devuelve {{1, 2, 0, 0}, {3,4, 0, 0}, {5, 6, 0, 0}}
Ejercicio 9
Se desea realizar una encuesta a varias personas, en la cuál se quiere conocer su sexo (1 si es Hombre, 2 si es mujer), si trabaja (1 si trabaja o 2 si no), y su sueldo (comprendido entre 600 y 2000, siendo 0 en caso de que no trabaje). Crea un array bidimensional aleatorio y calcula:
- Porcentaje de hombre
- Porcentaje de mujeres
- Porcentaje de hombres que trabajan
- Porcentaje de mujeres que trabajan
- El sueldo promedio de los hombres que trabajan
- El sueldo promedio de las mujeres que trabajan
Ejercicio 10
Crea una clase llamada DynamicArray
, que sea un array dinámico de números, es decir, que se le pueda cambiar el tamaño. Por ejemplo, si tenemos un array de [1,2,3]
estamos ante un array de 3 elementos, y si quieres añadir el número 4
, el tamaño pasará de 3 a 4. Si quisiéramos eliminar el número 1
, pasaría de 4 a 3 nuevamente. Dicha clase tendrá los siguientes constructores:
- Sin parámetros: Crea un array vacío (sin ningún tipo de valores).
- Con un parámetro: Recibe el tamaño inicial del array y creará un array vacío con esos tamaños, sin rellenar.
- Con parámetros infinitos: Recibe un varargs de números y creará un array con dichos números.
- Con un parámetro y parámetros infinitos. Recibe el tamaño del array y un varargs con los números a introducir en el array. Si el tamaño es inferior al tamaño de el varargs, éste será omitido y se tendrá como tamaño principal el de varargs.
Además, tendrá los siguientes elementos:
void add(int... elements)
: Añade todos los elementos de la lista.void remove(int element)
: Elimina el elemento si existe.int[] slice(int start, int end)
: Devuelve un sub-array dinámico desde el índice indicadostart
hasta el índice indicadoend
.int[] slice(int start)
: Devuelve un sub-array dinámico desde el índice indicadostart
hasta el final.void sort()
: Haciendo uso del algoritmo quick sort, ordenará el array dinámico.int[] sorted()
: Igual que al anterior, pero retornará una copia segura del array en lugar de modificar el array.int search(int element)
: Haciendo uso de la búsqueda binaria, se localizará el elemento dentro del array, en caso de que no exista, se devolverá -1.boolean equals(int[] array)
: Devuelvetrue
si ambos array tienen el mismo contenido, por el contrario devuelvefalse
.String toString()
: Devuelve una cadena con el array, con el siguiente formato:[0, 1, 2, 3, 4]
.
Para este ejercicio, queda completamente prohibido utilizar los métodos similares a los solicitados dentro de la clase Arrays
.