Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

231
Vistas
elemento adicional agregado en mi matriz int por mi ciclo for, no entiendo por qué

así que estoy haciendo un pequeño ejercicio llamado 'matriz de múltiplos', en el que estoy multiplicando un número y mostrando todos los múltiplos del número hasta que una matriz llega a la respuesta.

por ejemplo: arrayOfMultiples(7, 5) ➞ [7, 14, 21, 28, 35].

Mi problema es que tengo un elemento adicional que se agrega a mi matriz con un valor de 0, y no entiendo por qué. ¡He tratado de entender por qué, pero necesito ayuda!

este es mi código:

 public static void main(String[] args) { //invoke method int[] test = arrayOfMultiples(7, 6); //convert array to string to print entire thing System.out.println(Arrays.toString(test)); } public static int[] arrayOfMultiples(int num, int length) { //array is initalised with original number int [] array = new int [num]; //variable to keep num the same int add = num; // loop for adding the new multiples to the array for (int i = 0; i < length; i++) { array[i] = num; num += add; } return array; }

mi salida es: [7, 14, 21, 28, 35, 42, 0]

¡gracias!

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Su problema es que para la inicialización de la matriz, utilizó la variable num en lugar de la longitud para especificar el tamaño de la matriz y, dado que int es un tipo de datos premitivo, no puede ser nulo, sino que tiene un valor predeterminado de 0. Pruebe esto:

 public static void main(String[] args) { //invoke method int[] test = arrayOfMultiples(7, 6); //convert array to string to print entire thing System.out.println(Arrays.toString(test)); } public static int[] arrayOfMultiples(int num, int length) { //array is initalised with original number int [] array = new int [length]; //variable to keep num the same int add = num; // loop for adding the new multiples to the array for (int i = 0; i < length; i++) { array[i] = num; num += add; } return array; }
over 4 years ago · Santiago Trujillo Denunciar

0

El problema es que estás haciendo que el tamaño de la matriz sea el número para el que tienes que encontrar los múltiplos. Debe hacer que el tamaño sea igual a int length . Imagínese si num = 1000 y length = 10 , es decir, desea encontrar 10 múltiplos de 1000 . La forma en que lo ha hecho es que obtendrá una matriz con 990 elementos como 0 , que es el valor predeterminado asignado en cada índice en un int [] .

Reemplazar

 int [] array = new int [num];

con

 int [] array = new int [length];
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda