Java通过Luhn算法验证信用卡卡号是否有效的代码
将开发过程中比较常用的代码片段做个珍藏,如下代码内容是关于Java通过Luhn算法验证信用卡卡号是否有效的代码,应该是对码农有一些用处。
public class Luhn {
public static void main(String[] args) {
System.out.println(luhnTest(“49927398716”));
System.out.println(luhnTest(“49927398717”));
System.out.println(luhnTest(“1234567812345678”));
System.out.println(luhnTest(“1234567812345670”));
}
public static boolean luhnTest(String number){
int s1 = 0, s2 = 0;
String reverse = new StringBuffer(number).reverse().toString();
for(int i = 0 ;
i < reverse.length();
i++){
int digit = Character.digit(reverse.charAt(i), 10);
s1 += digit;
if(digit >= 5){
s2 -= 9;
}
}
}
return (s1 + s2) % 10 == 0;
}
}
运行上面的代码,执行结果如下
【Java通过Luhn算法验证信用卡卡号是否有效的代码】true
false
false
true
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 事件代理
- Java|Java OpenCV图像处理之SIFT角点检测详解
- gitlab|gitlab 通过备份还原 admin/runner 500 Internal Server Error
- java中如何实现重建二叉树
- 数组常用方法一
- 【Hadoop踩雷】Mac下安装Hadoop3以及Java版本问题
- Java|Java基础——数组
- RxJava|RxJava 在Android项目中的使用(一)
- java之static、static|java之static、static final、final的区别与应用