Você quer os elementos de vetor1 que não estão em vetor2?
Se for isso, não adianta verificar só se eles são diferentes, como você fez no seu if. Você precisa percorrer vetor2 e verificar se o valor está contido nele (e somente se não estiver, você adiciona no array final):
int[] vetor1 = new int[] { 1, 2, 3, 4, 5 };
int[] vetor2 = new int[] { 1, 2, 5 };
int[] result = new int[vetor1.length];
int cont = 0;
for (int n1 : vetor1) { // para cada elemento de vetor1
// verificar se n1 está em vetor2
boolean esta = false;
for (int n2 : vetor2) { // verifica se n1 está em vetor2
if (n2 == n1) { // está
esta = true;
break; // já vi que n1 está em vetor2, posso parar de procurar
}
}
if (!esta) { // se n1 não estiver em vetor2, adiciona nos resultados
result[cont] = n1;
cont++;
}
}
Como não necessariamente result ficará totalmente ocupado (pois alocamos um valor possivelmente maior que a quantidade de elementos que foram encontrados), você tem que iterar até a quantidade encontrada:
System.out.println("valores de vetor1 que não estão em vetor2:");
for (int i = 0; i < cont; i++) {
System.out.println(result[i]);
}
Como provavelmente é um exercício, “querem” que você faça manualmente. Mas uma forma mais direta é usar o que já tem pronto, e criar Set's a partir dos arrays:
int[] vetor1 = new int[] { 1, 2, 3, 4, 5 };
int[] vetor2 = new int[] { 1, 2, 5 };
Set<Integer> s1 = Arrays.stream(vetor1).boxed().collect(Collectors.toSet());
Set<Integer> s2 = Arrays.stream(vetor2).boxed().collect(Collectors.toSet());
s1.removeAll(s2); // remove de s1 todos os elementos de s2
int[] result = s1.stream().mapToInt(Number::intValue).toArray();
System.out.println("valores de vetor1 que não estão em vetor2:");
for (int n : result) {
System.out.println(n);
}