1*b04680f1SMatt Gilbride public class LuhnVerification { 2*b04680f1SMatt Gilbride checkNumber(String value)3*b04680f1SMatt Gilbride static boolean checkNumber(String value) { 4*b04680f1SMatt Gilbride int result = 0; 5*b04680f1SMatt Gilbride boolean special = false; 6*b04680f1SMatt Gilbride for (int i = value.length() - 1; i >= 0; i--) { 7*b04680f1SMatt Gilbride int v = value.charAt(i) - '0'; 8*b04680f1SMatt Gilbride if (v < 0 || v > 9) 9*b04680f1SMatt Gilbride return false; 10*b04680f1SMatt Gilbride if (special) { 11*b04680f1SMatt Gilbride v = v * 2; 12*b04680f1SMatt Gilbride if (v > 9) 13*b04680f1SMatt Gilbride v = v - 10 + 1; 14*b04680f1SMatt Gilbride } 15*b04680f1SMatt Gilbride result += v; 16*b04680f1SMatt Gilbride special = !special; 17*b04680f1SMatt Gilbride } 18*b04680f1SMatt Gilbride System.out.println(result); 19*b04680f1SMatt Gilbride return result % 10 == 0; 20*b04680f1SMatt Gilbride } 21*b04680f1SMatt Gilbride main(String args[])22*b04680f1SMatt Gilbride public static void main(String args[]) { 23*b04680f1SMatt Gilbride System.out.println(checkNumber("")); 24*b04680f1SMatt Gilbride } 25*b04680f1SMatt Gilbride 26*b04680f1SMatt Gilbride } 27