Codigo java com função recursiva que permite inverter um número inteiro

Boa noite!
Alguém pode me ajudar?
Necessito de um código em Java que inverta um número inteiro com uma função recursiva.
Agradeço!

Mas você quer inverter o número ou escrevê-lo ao contrário?
Pra inverter é só fazer:

double inverso = 1 / (double) numero;

Agora se quer imprimir ao contrário, utilizando recursividade, seria algo assim:

funcaoRecursiva(digitos) {
    digito d = remove digito mais significativo de digitos;
    se possui mais digitos {
        funcaoRecursiva( digitos );
    }
    imprime d;
}

vc quer algo como

123 se torna 321 ?

aqui cabe conhecimento de matematica. o primeiro é a partir de 123 vc extrair o ultimo numero, o 3? e aqui entra o resto de divisão ( modulo, ou % )

em artimetica de inteiros a gente obtem estes resultados

123 % 10 = 3
123 / 10 = 12.

agora, de 12, como vc obtem o 2? mesma coisa.

int numero = 123;
int digito = numero % 10;
int resto = numero / 10;

if ( resto >= 10 ) { ainda tem coisa pela frente }

vc tem 3 e 2, como vc transforma isso em 32? isso é o mesmo que 3 * 10 + 2 certo?

perceba que existe um padrao ai. um padrão onde vc tem 2 parametros: a sua fonte e o seu destino.

int inverter(int fonte) { return inverter( fonte / 10, fonte % 10 ); }
int inverter(int fonte, int destino ) { 
  1. se fonte for 0, retorna o destino
  2. pega o digito e o resto da fonte
  3. multiplica o destino por 10 e soma com o digito
  4. chama a funcao de novo porem chame como funcao(resto, destino)
} 

Entendi, obrigado!

Valeu pela dica, obrigado!

Obrigado pela dica, eu estava a constatar o mesmo erro.
Tentei com a sua sugestão Igor-ks, deu certo.

Saudações,

Não percebi muito bem como implementar o passo 3 e o passo 4!

vamos la, vc quer inverter 32 em 23, certo?

inverter( 321 ) é equivalente a inverter( 321/ 10, 321 % 10 )

321 / 10 é 32 ( divisão inteira )
321 % 10 é 1 ( resto da divisão inteira )

inverter( 321 ) = inverter( 32, 1 )

agora vamos de:

int inverter(int fonte, int destino ) { 
  1. se fonte for 0, retorna o destino
  2. pega o digito e o resto da fonte
  3. multiplica o destino por 10 e soma com o digito
  4. chama a funcao de novo porem chame como funcao(resto, destino)
}

na primeira vez temos

fonte = 32;
destino = 1;

passo 1: fonte é zero? não, então segue

passo 2: fazemos sobra = fonte / 10 e digito = fonte % 10 ( sobra = 3, digito 2 )

passo 3: fazemos: multiplica destino por 10 e soma digito: destino = 10 * destino + 2, ou destino = 12 - originalmente eu chamei sobra de resto porem isso pode confundir com resto de divisão, modulo, estou dando um nome mais apropriado pois é o que sobrou do numero.

passo 4: chamamos novamente inverter( sobra, destino ) ou inverter( 3, 12 )

o que vai acontecer se vc aplicar os 4 passos de novo?

fonte = 3;
destino = 12;

passo 1: fonte é zero? não, então segue

passo 2: fazemos sobra = fonte / 10 e digito = fonte % 10 ( sobra = 0, digito 3 )

passo 3: fazemos: multiplica destino por 10 e soma digito: destino = 10 * destino + 3, ou destino = 123

passo 4: chamamos novamente inverter( sobra, destino ) ou inverter( 0, 123 )

e agora? chamamos de novo.

fonte = 0;
destino = 123;

passo 1: fonte é zero? SIM. então retorna o destino ( 123 )