私はプログラミングが初めてで、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 です。しかし、最終的に結果は同じではありません。