我是编程新手,根本不懂 Java。下面是我在 Pascal 中无法弄清楚的 Java 代码:
public static boolean verificaRS(String numeroRS)
{
Integer numeroAbsoluto = Integer.valueOf(0);
Integer resto = Integer.valueOf(0);
Integer numero = Integer.valueOf(0);
int numeroAuxiliar = 1000000000;
int soma = 0;
try
{
numero = Integer.valueOf(Integer.parseInt(numeroRS));
}
catch (Exception ex)
{
Log.escreveLog(ex.toString());
return false;
}
if (numero.intValue() > 0)
{
for (int contador = 9; contador > 1; contador--)
{
numeroAuxiliar /= 10;
resto = Integer.valueOf(numero.intValue() % numeroAuxiliar);
numeroAbsoluto = Integer.valueOf(numero.intValue() / numeroAuxiliar);
numero = Integer.valueOf(numero.intValue() - numeroAbsoluto.intValue() * numeroAuxiliar);
soma += numeroAbsoluto.intValue() * contador;
}
if (soma % 11 == numero.intValue())
return true;
if ((soma % 11 == 10) && (numero.intValue() == 0))
{
return true;
}
return false;
}
return false;
}
有人可以帮我翻译吗?到目前为止,这就是我所做的:
NumeroAbsoluto, Resto, Numero, NumeroAuxiliar, Soma: Integer;
Contador: Integer;
begin
numeroAuxiliar := 1000000000;
Numero := 00009356332;
for Contador := 9 downto 1 do
begin
NumeroAuxiliar := NumeroAuxiliar div 10;
Resto := Numero mod NumeroAuxiliar;
NumeroAbsoluto := Numero div NumeroAuxiliar;
Numero := Numero - NumeroAbsoluto * NumeroAuxiliar;
Soma := Soma + NumeroAbsoluto * Contador;
end;
本例中的数字是 00009356332。但最终结果不一样。