Junção de Vetores

1 resposta
J

Preciso fazer um programa simples que faz a junção dos elementos de 2 Vetores ( Vetor 1 com 5 Elementos e Vetor 2 Com 10 Elementos ) que recebem numeros randomicos até 50 e exibam todos esses elementos em um terceiro vetor de 15 Posições.
estou com o seguinte código.

package somaentrevetores;
public class Vetor150 {
public static void main(String args[]){
    int V1[]=new int[5];
    int V2[]=new int[10];
    int VR[]=new int[15];
    int i;
    for ( i=0;i<V1.length;i++){
            V1[i]=(int)(1+(Math.random()*50));
}
    for ( i=0;i<V2.length;i++){
            V1[i]=(int)(1+(Math.random()*50));
}
          for ( i=0;i<V1.length;i++){
            VR[i]=V1[i];
                 System.out.println(VR[i]);
    }
    for ( i=0;i<V2.length;i++){
            VR[i+5]=V2[i];
                 System.out.println(VR[i]);
    }
            
}
}

mais nao me é retornando nada oque tem de errado ? :\

1 Resposta

ViniGodoy

Na linha 13, você está atribuindo a V1, quando deveria estar atribuindo a V2.

Além disso, no último for, você só está imprimindo 10 elementos de VR (afinal, seu for só vai até V2.length).
O ideal é tirar aquele println dali e fazer outro for para o VR.

Eis seu código melhor organizado:
package br.com.guj;

import java.util.Random;

public class Vetor150 {
	public static void main(String args[]) {
		
		Random random = new Random();
				
		System.out.println(&quot;Conteúdo de V1:&quot;);
		int v1[] = new int[5];
		for (int i = 0; i &lt; v1.length; i++) {
			v1[i] = 1 + random.nextInt(50);
			System.out.print(v1[i] + &quot; &quot;);
		}
		System.out.println();
		
		System.out.println(&quot;Conteúdo de V1:&quot;);
		int v2[] = new int[10];
		for (int i = 0; i &lt; v2.length; i++) {
			v2[i] = 1 + random.nextInt(50);
			System.out.print(v2[i] + &quot; &quot;);
		}
		System.out.println();

		//Concatenação dos dois vetores
		int tamanhoR = v1.length + v2.length;
		int vr[] = new int[tamanhoR];
		for (int i = 0; i &lt; v1.length; i++) {
			vr[i] = v1[i];			
		}
		for (int i = 0; i &lt; v2.length; i++) {
			vr[i + v1.length] = v2[i];			
		}
		
		System.out.println(&quot;Impressão do resultado&quot;);
		for (int num : vr) {
			System.out.print(num + &quot; &quot;);
		}
	}
}
Criado 16 de junho de 2012
Ultima resposta 16 de jun. de 2012
Respostas 1
Participantes 2