Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

232
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda