Avatar billede trp79 Nybegynder
25. januar 2005 - 16:16 Der er 6 kommentarer og
1 løsning

Forklaring af kode til validering af CPR nr.

Hejsa
Jeg 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
Avatar billede arne_v Ekspert
25. januar 2005 - 16:27 #1
Det er nogle vægte som bruges i den 11 tværsums regel man bruger til at
validere CPR nummeret med.
Avatar billede arne_v Ekspert
25. januar 2005 - 16:27 #2
11 skal gå op i summen af vægte * cifre
Avatar billede trp79 Nybegynder
25. januar 2005 - 17:31 #3
Det er super Arne. Tak for det :)

Smid du bare et svar...
Avatar billede trp79 Nybegynder
25. januar 2005 - 17:52 #4
Håber det er iorden med et lille bi-spørgsmål... Hvordan kommer typecaster man fra String til Long?
Avatar billede trp79 Nybegynder
25. januar 2005 - 18:00 #5
Det gør man selvfølgelig med: Long.parseLong("234234324")
Avatar billede arne_v Ekspert
25. januar 2005 - 18:20 #6
svar
Avatar billede arne_v Ekspert
25. januar 2005 - 18:20 #7
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester