Olá, estou com um pequeno grande problema num exercicio, foi dado um problema, onde se deve ter dois vetores, onde o usuario digita os numeros a sua escolha, depois deve-se unir esses dois vetores em um unico vetor, só que sem adicionar os numeros repetidos, até a parte de unir os vetores foi tranquilo, agora a duvida é como criar um novo vetor com os valores filtrados, ou seja, sem os numeros repetidos.
O que vc está tentando fazer para resolver isto :?: Poste o trecho do exercício
[code]/*Construir dois métodos, um que faz a união de vetores e outro que faz a concatenação.
No caso da união, dados dois vetores, vetorA e vetorB, como resultado deve ser criado um novo vetor,
vetorC, que contém os elementos do vetorA e do vetorB, porém sem repetí-los
(não colocar elementos repetidos no vetorC). */
package ListaEdd;
/Autor Danilo Zagatto - 2º Semestre Analie e Desenvolvimento de Sistemas/
import java.util.Scanner;
public class UniãoDeVetores {
public static void main(String args[]) {
int VetorA[];
int VetorB[];
int VetorC[];
int TamanhoVetor = 0;
int ContadoraVetores = 0;
System.out.println("Quantos Dados Você Deseja Inserir Nos Vetores ?");//Aqui é basico, começa a leitura dos tamanhos dos vetores
Scanner entrada = new Scanner(System.in);
TamanhoVetor = entrada.nextInt();
VetorA = new int[TamanhoVetor];
VetorB = new int[TamanhoVetor];//aqui termina o processo de criação dos vetores com o tamanho desejado pelo usuario
System.out.println("Agora Por Favor Digite Os Numeros No Primeiro Vetor " + TamanhoVetor + " No Total");
for (int x = 0; x <= TamanhoVetor - 1; x++) {//laço para o usuario digitar os valores desejados no VetorA
VetorA[x] = entrada.nextInt();
}
System.out.println("Agora Por Favor Digite Os Numeros Do Segundo Vetor " + TamanhoVetor + " No Total");
for (int x = 0; x <= TamanhoVetor - 1; x++) {//outro laço para digitar os valores no VetorB
VetorB[x] = entrada.nextInt();
}
VetorC = new int[TamanhoVetor + TamanhoVetor];
for (int x = 0; x < TamanhoVetor; x++) {
VetorC[x] = VetorA[x];
}
for (int x = 0; x < TamanhoVetor; x++) {
VetorC[TamanhoVetor] = VetorB[x];
TamanhoVetor++;
}
}
// for (int x =0;x<VetorC.length;x++){System.out.print(VetorC[x]+" ");} - Até Aqui a União Dos Vetores Está Perfeita
}
[/code]
até a união dos dois vetores estáva funcionando, agora tenho que jogar eles para um novo vetor, sem repitir os numeros, é algum erro de logica, mais não estou conseguindo ver o problema
Cara, só uma coisa básica, sempre inicie nome d variáveis com letra minúscula. E não use acentos.
Algo q eu vejo d errado no seu código é a linha 33, onde você poderia usar a variável length do array ao invés da variável tamanhoVetor, tipo:
vetorC = new int[vetorA.length + vetorB.length];
Apesar d q o tamanho do vetorC pode ser menor, pois a ideia é não ter valores repetidos. Mas enfim…
E isso vale pros teus 2 últimos fors tb. Depois da linha 30 não faz mais sentido usar essa variável tamanhoVetor.
E sua lógica está incompleta, pois vc não está verificando se existem elementos repetidos.