Q:

Como imprimo na tela os valores iguais de dois vetores inteiros?

Eu fiz isso usando dois laços for, mas o professor não aceitou.
Preciso fazer a comparação usando somente um laço while.
EX. vetorA = {1,2,3,4,5,6,7,8} , vetorB = {3,4,7,8,9,10}
Assim funciona, mas precisa ser somente com um laço.
public void interseccao(int[] vetorA, int[] vetorB) {
  for(int i=0; i < vetorA.length; i++){
    for(int j=0; j < vetorB.length; j++){
    if(vetorA[i] == vetorB[j]){
        int temp = vetorA[i];

        System.out.print(temp + " ");
    }

A:

Se tem a garantia que os vetores são ordenados pode utilizar a seguinte lógica:

Começa na primeira posição em cada um deles. 
A cada passo compara ambos os valores de cada um
Se o A for menor avança só no A e se o B for menor avança só no B
Se ambos forem iguais mostra o de um deles e avança nos dois
Faz enquanto nenhum dos vetores chegou ao fim

Implementação:
public void interseccao(int[] vetorA, int[] vetorB){
    int indiceA = 0;
    int indiceB = 0;

    while (indiceA < vetorA.length && indiceB < vetorB.length){
        if (vetorA[indiceA] == vetorB[indiceB]){
            System.out.print(vetorA[indiceA] + " ");
            indiceA++;
            indiceB++;
        }
        else if (vetorA[indiceA] < vetorB[indiceB]){
            indiceA++;
        }
        else {
            indiceB++;
        }
    }
}

Que para os vetores que indicou:
int[] vetorA = {1,2,3,4,5,6,7,8};
int[] vetorB = {3,4,7,8,9,10};

Dá a seguinte saída:
3 4 7 8

Veja a funcionar no Ideone

