class validateIBAN{
private static int calcMod97
(String D
) { int remainder;
int end = D.length() - 1;
int pos = 9;
boolean last = false;
while(true) {
remainder
= Integer.
valueOf(N
) % 97; if(!last) {
if((pos + 7) < end) {
N
= String.
valueOf(remainder
).
concat(D.
substring(pos, pos
+ 7)); pos = pos + 7;
} else {
N
= String.
valueOf(remainder
).
concat(D.
substring(pos
)); pos = end;
last = true;
}
} else {
break;
}
}
return remainder;
}
public static void main
(String[] args
) { String IBAN1
= "00120345030000067890142807"; String IBAN2
= "20389433376000130761142872"; System.
out.
println(calcMod97
(IBAN1
)); System.
out.
println(calcMod97
(IBAN2
)); }
}
Y2xhc3MgdmFsaWRhdGVJQkFOewoKICBwcml2YXRlIHN0YXRpYyBpbnQgY2FsY01vZDk3KFN0cmluZyBEKSB7CiAgICBTdHJpbmcgTiA9IEQuc3Vic3RyaW5nKDAsIDkpOwogICAgaW50IHJlbWFpbmRlcjsKICAgIGludCBlbmQgPSBELmxlbmd0aCgpIC0gMTsKICAgIGludCBwb3MgPSA5OwogICAgYm9vbGVhbiBsYXN0ID0gZmFsc2U7CiAgICB3aGlsZSh0cnVlKSB7CiAgICAgIHJlbWFpbmRlciA9IEludGVnZXIudmFsdWVPZihOKSAlIDk3OwogICAgICBpZighbGFzdCkgewogICAgICAgIGlmKChwb3MgKyA3KSA8IGVuZCkgewogICAgICAgICAgTiA9IFN0cmluZy52YWx1ZU9mKHJlbWFpbmRlcikuY29uY2F0KEQuc3Vic3RyaW5nKHBvcywgcG9zICsgNykpOwogICAgICAgICAgcG9zID0gcG9zICsgNzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgTiA9IFN0cmluZy52YWx1ZU9mKHJlbWFpbmRlcikuY29uY2F0KEQuc3Vic3RyaW5nKHBvcykpOwogICAgICAgICAgcG9zID0gZW5kOwogICAgICAgICAgbGFzdCA9IHRydWU7CiAgICAgICAgfQogICAgICB9IGVsc2UgewogICAgICAgIGJyZWFrOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gcmVtYWluZGVyOwogIH0KICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CiAgICBTdHJpbmcgSUJBTjEgPSAiMDAxMjAzNDUwMzAwMDAwNjc4OTAxNDI4MDciOwogICAgU3RyaW5nIElCQU4yID0gIjIwMzg5NDMzMzc2MDAwMTMwNzYxMTQyODcyIjsKICAgIFN5c3RlbS5vdXQucHJpbnRsbihJQkFOMSk7CiAgICBTeXN0ZW0ub3V0LnByaW50bG4oY2FsY01vZDk3KElCQU4xKSk7CiAgICBTeXN0ZW0ub3V0LnByaW50bG4oSUJBTjIpOwogICAgU3lzdGVtLm91dC5wcmludGxuKGNhbGNNb2Q5NyhJQkFOMikpOwogIH0KfQ==