Aglutinar os valores de dois array!

2 respostas
Ederson_Lima

Olá pessoal, me deparei com um exercicio meio complicado pra mim que estou iniciando em programação Java, então vai aí a questão e o código que tentei desenvolver:

package ListaDeExercicios;

public class Questao8 {

	public static void main(String[] args) {

		int array1[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
		int array2[] = { 2, 4, 6, 8, 10, 12, 14, 16, 18, 20 };
		String aux = "";
		
		for (int i = 0; i < array1.length; i++) {
			
			aux += array1[i] + " ";
			
		}
		
		for (int i = 0; i < array1.length; i++) {
			
			for (int j = 0; j < array2.length; j++) {
				
				if(array2[j] != (array1[i]/2)){
					
					aux += array2[j] + " ";
					
				}
				
			}
		
		}
		
		System.out.println(aux);

	}

}

Me ajudem pessoal!!! :frowning:

2 Respostas

WendersonLP

Bem aí nesse seu código você não está criando um método específico para fazer a aglutinação, isso
fica um pouco desorganizado.
Dentro do método aglutinar, com a soma dois tamanhos do arrays, você especifica o tamanho do array
de saída. Uma dica é: primeiro você a cada inserção no array, você antes verifique se aquele valor já
está contido dentro do array, caso não esteja aí sim é adicionado no novo valor. Para verificar se o valor
já existe dentro do array, crie um método para isso.

public static boolean contemValor(int[] array, int valor) {
   if (array.length == 0) {
      return false;
   }

   for (int i = 0; i < array.length; i++) {
      if (array[i] == valor) {
         return true;
      }
   }
   return false;
}

// creio eu que as duas arrays passada são iguias.
public static int[] aglutinar(int[] array1, int[] array2) {
   int[] i_array = new int[(array1.length + array2.length)];
   int i_index = 0;

   for (int i = 0; i < array1.length; i++) {
        if (!contemValor(i_array, array1[i]) {
           i_array[i_index] = array1[i];
           i_index++;
        }       

        if (!contemValor(i_array, array2[i]) {
           i_array[i_index] = array2[i];
           i_index++;
        }       
   }
   return i_array;
}

Veja se isso resolver seu problema, qualquer incorreção corriga porque eu não testei esse código.

Até mais…

Ederson_Lima

Resolve sim WendersonLP, valew mesmo pela ajuda!!!

Apenas tive que adicionar os parenteses nos ifs “if (!(contemValor(i_array, array1[i])))” e usar o método Array.Sort para organizar os números depois de inseridos!!!

Abraços,
Ederson

Criado 3 de abril de 2010
Ultima resposta 3 de abr. de 2010
Respostas 2
Participantes 2