【发布时间】:2015-05-26 02:49:57
【问题描述】:
我正在尝试在我的 java servlet 应用程序中实现一个 luhn 公式。我尝试了其他散布在互联网上的“有效”信用卡号码,但没有用。我只是想知道我是否正确理解了它。任何帮助将不胜感激!
public static boolean luhn(String input){
char[] creditCard = input.toCharArray();
int checkSum = 0;
boolean alternate = false;
for (int i = creditCard.length - 1; i >= 0; i --){
int m = (int)Integer.parseInt(Character.toString(creditCard[i]));
if (alternate){
m *= 2;
if (m > 9){
m = (m & 10) + 1;
}
}
checkSum += m;
alternate = true;
}
if ( (checkSum % 10) == 0){
return true;
}else{
return false;
}
}
【问题讨论】:
标签: java credit-card luhn