Autor Tema: Para qué sirve la clase Arrays del api Java. Métodos equals copyOf fill CU00676B  (Leído 1523 veces)

paramonso

  • Intermedio
  • ***
  • Mensajes: 241
  • El ignorante afirma, el sabio duda y reflexiona.
    • Ver Perfil
Hola. Dejo el Ejercicio CU00676B del curso para principiantes de programación Java.
Clase Arrays del api Java. Métodos equals (comparar), copyOf (copiar), fill (rellenar)

Código: [Seleccionar]
import java.util.Arrays;
public class TestMetodoFillArrays {
public static void main (String [ ] Args) { //main cuerpo del programa ejemplo aprenderaprogramar.com
int [ ] miArray = new int[10];
Arrays.fill(miArray, 33);
int fromIndex=5, toIndex=8;
for (int tmp: miArray) { System.out.print (tmp + ","); } //Recorrido del array con un for each
System.out.print("\n");
Arrays.fill(miArray,fromIndex , toIndex , 34);
for (int tmp: miArray) { System.out.print (tmp + ","); } //Recorrido del array con un for each

} } //Cierre del main y de la clase

Adios.  ;)
« Última modificación: 03 de Agosto 2019, 22:59 por Ogramar »

Ogramar

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2660
    • Ver Perfil
Buenas, para quien revise este hilo, se trata del código correspondiente a la propuesta (no está contemplado formalmente como ejercicio) que se hace al final de la entrega CU00676B del curso, donde se indica "Escribe un fragmento de código utilizando esta signatura del método fill y comprueba sus resultados."

Una curiosidad que podemos comprobar en este y en otros casos, es que definido int fromIndex=5, toIndex=8; el resultado es que el array de 10 elementos que inicialmente se rellenó con fill siendo todos sus elementos 33, al rellenarse con 34 entre los índices indicados queda como 33,33,33,33,33,34,34,34,33,33

La curiosidad está en que los elementos que se han sustituido son el 5, 6 y 7 (empezamos a contar desde cero). El 8 está excluído. ¿Por qué? Si consultamos la signatura del método fill utilizado en el api Java encontramos esto:

Citar
public static void fill(int[] a,
                        int fromIndex,
                        int toIndex,
                        int val)

Assigns the specified int value to each element of the specified range of the specified array of ints. The range to be filled extends from index fromIndex, inclusive, to index toIndex, exclusive. (If fromIndex==toIndex, the range to be filled is empty.)

Donde comprobamos que se define que el índice fromIndex está incluído, mientras que el índice toIndex está excluído. ¿Por qué? Porque así lo decidieron los creadores del Api Java.

Salu2

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".