Qui sotto ho creato una soluzione completa, anche se è un po differente dalla tua, dovrebbe funzionare a dovere:
Sotto la classe Interspublic class Main {
public static void main(String[] args) {
int[] a1 = { 1, 3, 5, 6, 8};
int[] a2 = { 3, 2, 5, 8, 9};
int conta = 0;
for (int i = 0; i < a1.length; i++) {
for (int j = 0; j < a2.length; j++) {
if (a1[i] == a2[j])
conta += 1;
}
}
System.out.println("valori uguali n. " + conta);
Inters verificaInteri = new Inters(a1, a2);
boolean verifica = false;
int contaInteri = 0;
verifica = verificaInteri.uguali(a1, a2);
contaInteri = verificaInteri.contaInteri();
System.out.println("Ci sono più di uno " + verifica);
System.out.println("Ce ne sono " + contaInteri);
}
}
class Inters {
int[] a1 = null;
int[] a2 = null;
static int contaOccorenze = 0;
public Inters(int[] a1, int[] a2) {
super();
this.a1 = a1;
this.a2 = a2;
}
public Inters() {
super();
}
// boolean che verifica se
// due numeri sono uguali
public static boolean uguali(int[] a1, int[] a2)
{
for (int i = 0; i < a1.length; i++) {
for (int j = 0; j < a2.length; j++) {
if (a1[i] == a2[j])
contaOccorenze += 1;
}
}
if (contaOccorenze > 0)
return true;
else
return false;
}
// restituisce il numero di volte che trova un doppione
public static int contaInteri() {
return contaOccorenze;
}
}