Validação de Renavam

Olá

Preciso implementar em um sistema uma validação de RENAVAM. Já achei um algoritmo, mas não consegui fazer ele funcionar em java.
Se alguem já tiver alguma rodina pronta, ou poder me ajudar agradeço.

Segue abaixa a rodina que encontrei em VB e a tradução que fiz pra java (se algum puder tb conferir para ver o que posso ter feito errato).

Rotina em VB

Dim Renavam As String
Dim Numeros(5) As String
Dim I, J As Integer
Dim Soma, Valor As Single
Dim Digito As Integer

J = 0

Renavam = txt_renavam.Text

Renavam = Replace(Renavam, “-”, “”)

For I = 1 To 5
Numeros(I - 1) = Mid(Renavam, I, 1)
Next
For I = 5 To 2 Step -1
Soma = Soma + (Numeros(J) * I)
J = J + 1
Next

Valor = Soma Mod 11

If ((Valor = 1) Or (Valor = 0) Or (Valor >= 10)) Then
Digito = 0
Else
Digito = Valor
End If

Label2.Caption = Digito & " " & Numeros(4) & " " & Soma & " " & Digito

If (Digito = Numeros(4)) Then
MsgBox (“Renavam nº " & Renavam & " Valido!”)
Else
MsgBox (“Renavam nº " & Renavam & " Invalido!”)
End If

Rotina em Java

[code] public static boolean validaRenavam(String value) {
int j = 0;
int soma = 0;

	int[] numeros = new int[5];
	int valor;
	for (int i = 0; i < 5; i++) {
		numeros[i] = Integer.valueOf(value.substring(i, i + 1));
	}

	for (int i = 5; i >= 2; i--) {
		soma = soma + (numeros[j] * i);
		j = j + 1;
	}

	valor = soma % 11;

	int digito;
	if (valor == 1 || valor == 0 || valor >= 10)
		digito = 0;
	else
		digito = valor;

	if (digito == numeros[4])
		return true;
	else
		return false;
}[/code]

Ao invés de copiar um algoritimo pronto vc poderia buscar qual é a maneira de validar um renavam (se existe isso), da mesma forma como existe uma maneira de validar um CPF, por exemplo.

Aí sim seria mais fácil desenvolver e vc praticaria muito mais a sua lógica