Erro

Meu código esta assim e não esta rodando, alguém sabe me dizer o que esta errado?

public class Questao5 {

public static void seno (double x) {
    double seno = 0;
    int exp = 1;
    int numero = 1;
    int sinal = 1;
    for (int i = 0; i < 10; i++) {
        double resto = sinal * (Math.pow(x, exp) / fact(numero));
        seno += resto;
        exp += 2;
        numero += 2;
        sinal *= -1;
    }
    System.out.println("O seno é :" + seno);
}

public static int fact(int numero) {
    if (numero == 0 | numero == 1) {
        return 1;
    } else {
        return numero * fact(numero - 1);
    }
}

}

O que queres dizer com “não está rodando”? Dá algum erro? ou simplesmente não retorna os resultados que pretendes?
Se for este último caso, uma dica: factorial dá um resultado muito grande que não cabe num int para alguns dos valores que necessitas