Smellti saman Java útgáfu af vartölutékkinu. Þetta er alveg hrátt og ekki tekið á neinum jaðartilvikum, gert er ráð fyrir því að kennitalan sé á eftirfarandi formi 1234567890 þ.e. ekkert bandstrik.

public boolean ktCheck( String _kt )
{
if( _kt.length() == 10 )
{
int sum = 0;
sum += ( 3 * Integer.parseInt(_kt.substring(0,1)) );
sum += ( 2 * Integer.parseInt(_kt.substring(1,2)) );
sum += ( 7 * Integer.parseInt(_kt.substring(2,3)) );
sum += ( 6 * Integer.parseInt(_kt.substring(3,4)) );
sum += ( 5 * Integer.parseInt(_kt.substring(4,5)) );
sum += ( 4 * Integer.parseInt(_kt.substring(5,6)) );
sum += ( 3 * Integer.parseInt(_kt.substring(6,7)) );
sum += ( 2 * Integer.parseInt(_kt.substring(7,8)) );

int sumTemp = 0;

if( sum % 11 > 0 )
sumTemp = (sum/11) + 1;
else
sumTemp = sum/11;

sumTemp = (sumTemp * 11) - sum;

if( sumTemp == Integer.parseInt(_kt.substring(8,9)))
return true;
}
return false;
}

kveðja
Ajaxultra
Kveðja