java - Luhn. Digit length control -



java - Luhn. Digit length control -

i new this. trying utilize luhn algorithm validate "person number" (a swedish social security number). think code finished don't know set in class "birthdate.length()" , "pos" create work. birthdate.length needs create sure string 10 digits long , "pos" needed validation control.

package kund; import java.util.scanner; public class kund { /** * @param args command line arguments */ public static void main(string[] args) { system.out.println("welcome customer. please login using " + "birthdate (yymmddxxxx)"); scanner input = new scanner (system.in); string birthdate = input.next(); int length = birthdate.length(); int sum = 0; (int = 1; pos=length-1; i<=10; i++, pos--){ char tmp = birthdate.charat(pos); int num = integer.parseint(string.valueof(tmp)); int produkt; if (i % 2 != 0){ produkt = num * 1; }else { produkt = num * 2; } if ( produkt > 9 ) produkt -= 9; sum += produkt; boolean korrekt = (sum % 10) == 0; if (!korrekt){ system.out.println("invalid."); }else if(korrekt){ system.out.println("correct"); } } } }

your code syntactical incorrect. loop had 4 components in loop head instead of 3 . moved pos=length-1; thing syntactical right position. not know how algorithm should work so, cannot check whether programme semantically correct.

however, assume have swedish social security number , can check.

package kund; import java.util.scanner; public class kund { /** * @param args command line arguments */ public static void main(string[] args) { system.out.println("welcome customer. please login using " + "birthdate (yymmddxxxx)"); scanner input = new scanner (system.in); string birthdate = input.next(); int length = birthdate.length(); int sum = 0; int pos = length-1; (int = 1; i<=10; i++, pos--){ char tmp = birthdate.charat(pos); int num = integer.parseint(string.valueof(tmp)); int produkt; if (i % 2 != 0){ produkt = num * 1; }else { produkt = num * 2; } if ( produkt > 9 ) produkt -= 9; sum += produkt; boolean korrekt = (sum % 10) == 0; if (!korrekt){ system.out.println("invalid."); }else if(korrekt){ system.out.println("correct"); } } } }

java luhn

Comments

Popular posts from this blog

assembly - What is the addressing mode for ld, add, and rjmp instructions? -

vowpalwabbit - Interpreting Vowpal Wabbit results: Why are some lines appended by "h"? -

Php operator `break` doesn't stop while -