Problema em código!

Pessoal estou com um pequeno problema nessa código de pilhas em java.

Se alguém souber da uma ajuda ai.

[code]package exemplopilha;

import java.util.*;

public class pilha {

public static void main(String[] args) {
    Stack pilha1 = new Stack();
    Stack pilha2 = new Stack();

    pilha1.push(1);
    pilha1.push(7);
    pilha1.push(3);
    pilha1.push(21);
    pilha1.push(49);
    pilha1.push(17);
    pilha1.push(5);

    while (!pilha1.empty()) {
        if (pilha1.peek() % 7 != 0) { //O erro está nessa parte do código.
            pilha2.push(pilha1.pop());
        }
        pilha1.pop();
    }

    while (!pilha2.isEmpty()) {
        System.out.println("Topo da pilha..:" + pilha2.peek());
        pilha2.pop();
    }
}

}[/code]

Você não definiu o tipo da sua pilha.
Exemplo:

Stack<MeuTipo> minhaPilha;

Com isso sua pilha esta armazenando variáveis do tipo Object, como o operador % não foi sobrecarregado para argumentos do tipo (Object,int) temos o erro.
Você pode tanto converter sua pilha ou o retorno dela.

ps. Provavelmente acontecerá outro erro no seu código em tempo de execução tente verificar a lógica do seu programa.