JAVA I created a vector union algorithm, but it is returning the values of its union = 0

Asked

Viewed 42 times

-1

package EstruturaDeDados;
import java.util.Arrays;
import java.util.Scanner;

public class testes {

    public static void main(String[] args) {
    
        Scanner ler = new Scanner(System.in);

        String repetir = "s";
        //REPETIÇÃO PARA REPETIR O PROGRAMA.
        while (repetir.equals("s") || repetir.equals("S")) {

            //VARIAVEL CONTADORA
            System.out.print("Insira o tamanho do Vetor A: "); //ENTRADA DE DADOS
            int tamanhoVetorA = ler.nextInt();                //CRIANDO VÁRIÁVEL E FAZENDO A LEITURA

            //VARIAVEL CONTADORA
            System.out.print("Insira o tamanho do Vetor B: "); //ENTRADA DE DADOS
            int tamanhoVetorB = ler.nextInt();                 //CRIANDO VÁRIÁVEL E FAZENDO A LEITURA

            int[] vetorA = new int[tamanhoVetorA]; //CRIANDO UM ARRAY'S
            int[] vetorB = new int[tamanhoVetorB]; //CRIANDO UM ARRAY'S
            int[] vetorC = uniao(vetorA,vetorB);



            for (int contador = 0; contador < tamanhoVetorA; contador++) {
                System.out.print("Digite os números repectivos do Vetor A: ");
                vetorA[contador] = ler.nextInt();
            }
            for (int contador = 0; contador < tamanhoVetorB; contador++) {
                System.out.print("Digite os números repectivos do Vetor B: ");
                vetorB[contador] = ler.nextInt();
            }


            //Imprimindo Vetor A
            System.out.println("-------------------------");
            System.out.println("Valores do VETOR A");
            for (int contador = 0; contador < tamanhoVetorA; contador++) {
                System.out.println(vetorA[contador]);
            }
            
            //Imprimindo Vetor B
            System.out.println("-------------------------");
            System.out.println("Valores do VETOR B");
            for (int contador = 0; contador < tamanhoVetorB; contador++) {
                System.out.println(vetorB[contador]);
                System.out.println("------------------------");
            }
            
            System.out.println("União entre vetor a e vetor b é =");
            System.out.println(Arrays.toString(vetorC));

            System.out.println("Deseja repitir o programa? [S/N]");
            repetir = ler.next();
        }
    }

    private static int[] uniao(int[] vetorA, int[] vetorB){
    
        int vetorC[] = new int[vetorA.length + vetorB.length];
        int contK = 0;

        for (int i = 0;i <vetorA.length;i++)
            vetorC[contK++] = vetorA[i];

        for (int i=0; i<vetorB.length; i++) {
        
            if (!existe(vetorB[i], vetorC, contK)){

            }
        }
        
        vetorC = Arrays.copyOf(vetorC,contK);
        return vetorC;
        
    }
    
    private static boolean existe(int x,int[]vetorC, int k){
    
        for (int i = 0; i < k;i++){
        
            if(vetorC[i] == x) {
                return true;
            }
            
        }
        
        return false;
    }
}
No answers

Browser other questions tagged

You are not signed in. Login or sign up in order to post.