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
Post a Comment