Forklaring af kode til validering af CPR nr.
HejsaJeg fandt understående kode til at finde ud af, hvorvidt et cpr nr er gyldigt eller ej.(fra dette spg: http://eksperten.dk/spm/234580)
/*
* CPR.java
*
* Created on 11. juli 2002, 13:44
*/
/**
*
* @author thygesen
* @version
*/
public class CPR
{
/** Creates new CPR */
public CPR()
{
String cpr="2803451977";
System.out.println("Result = "+validateCpr(cpr));
}
private boolean validateCpr(String cpr)
{
if(cpr==null || cpr.length()!=10) return false;
char[] cprArray=cpr.toCharArray();
for(int x=0;x<cprArray.length;x++)
{
if(!Character.isDigit(cprArray[x])) return false;
cprArray[x]-='0';
}
char[] talArray={4,3,2,7,6,5,4,3,2,1};
int sum=0;
for(int x=0;x<10;x++)
{
sum+=cprArray[x]*talArray[x];
}
if((sum%11)!=0) return false;
return true;
}
/**
* @param args the command line arguments
*/
public static void main(String args[])
{
new CPR();
}
}
Jeg forstår dog ikke, hvad denne linie bruges til:talArray={4,3,2,7,6,5,4,3,2,1}; og hvorfor den indeholder de tal som den gør. Håber nogen kan forklare mig det :)
På forhånd tak, mvh
Torben
