Olá.
Eu estou a tentar fazer uma aplicação modular que leia-a 2 vectores com números inteiros. Depois de os ler eu queria que um dos módulos retorna-se o vector com os elementos que pertenciam aos elementos de intersecção dos dois vectores inseridos.
Mas os vectores podem ter tamanho diferentes e eu não sei como é que faço uma leitura dos dois e comparo o seu conteúdo para adicionar no novo vector no meu método intersecção.
Deixo aqui o meu código:
import javax.swing.JOptionPane;
public class PL6ex5 {
public static void main(String[] args) {
int N = Integer.parseInt(JOptionPane.showInputDialog("Quantos números deseja ler para o primeiro vector?"));
int M = Integer.parseInt(JOptionPane.showInputDialog("Quantos números deseja ler para o primeiro vector?"));
int[] v1 = new int[N];
int[] v2 = new int[M];
int S=0;
int [] res = new int [S];
JOptionPane.showMessageDialog(null, "Preenchimento do vector 1:");
v1 = leitura(N);
JOptionPane.showMessageDialog(null, "Preenchimento do vector 2:");
v2 = leitura(M);
res = interseccao(v1, v2, N);
if(){//queria colocar a condiçao para caso o vector da intersecção não tivesse elementos mostrar esta mensage.
//se tivesse elementos mostrava a outra.
JOptionPane.showMessageDialog(null,"Não há intersecção entre os elementos dos dois vectores.");
}else{
JOptionPane.showMessageDialog(null, "Conjunto intersecção de nº entre os dois vectores: \n" + res);
}
}
//leitura dos números
public static int[] leitura(int N) {
int[] v = new int[N];
for (int i = 0; i < v.length; i++) {
v[i] = Integer.parseInt(JOptionPane.showInputDialog("Insira um nº: "));
}
return v;
}
public static int [] interseccao(int[] v1, int[] v2, int N) {
int cont =0;
int [] inter = new int [cont];
boolean flag1 = false;
int j = N - 1;
while (flag1 == false) {
for (int i = 0; i < v1.length; i++) {
if (v1[i] == v2[j]) {
cont++;//queria que o vector novo tivesse este tamanho
inter[i] = v2[j];
}
}
if (j == 0) {
flag1 = true;
}
j--;
}
return inter;
}
}
Gostava que alguém me ajuda-se.
Um abraço