信用卡校验
来源:互联网 发布:卡通人物制作的软件 编辑:程序博客网 时间:2024/06/02 10:37
信用卡校验
当你输入信用卡号码的时候,有没有担心输错了而造成损失呢?其实可以不必这么担心,因为并不是一个随便的信用卡号码都是合法的,它必须通过Luhn算法来验证通过。import java.util.*;public class Main {public static void main(String[] args) {// TODO Auto-generated method stubScanner sc=new Scanner(System.in);String str=sc.nextLine();int[] n=new int[str.length()];int sum1=0;//奇数项和int sum2=0;//偶数项和if(str.length()%2==0){for(int i=0;i<str.length();i=i+2){n[i]=(str.charAt(i)-'0');n[i]=n[i]*2;if(n[i]>9){n[i]=n[i]-9;}sum1=sum1+n[i];}for(int i=1;i<str.length();i=i+2){n[i]=(str.charAt(i)-'0');sum2=sum2+n[i];}if((sum1+sum2)%10==0){System.out.println("成功");}else{System.out.println("失败");}}else{for(int i=0;i<str.length();i=i+2){n[i]=(str.charAt(i)-'0');sum2=sum2+n[i];}for(int i=1;i<str.length();i=i+2){n[i]=(str.charAt(i)-'0');n[i]=n[i]*2;if(n[i]>9){n[i]=n[i]-9;}sum1=sum1+n[i];}if((sum1+sum2)%10==0){System.out.println("成功");}else{System.out.println("失败");}}}}
该校验的过程:
1、从卡号最后一位数字开始,逆向将奇数位(1、3、5等等)相加。
2、从卡号最后一位数字开始,逆向将偶数位数字,先乘以2(如果乘积为两位数,则将其减去9),再求和。
3、将奇数位总和加上偶数位总和,结果应该可以被10整除。
0 0
- 信用卡校验
- 信用卡校验
- 信用卡校验
- 信用卡校验
- 信用卡号校验
- 信用卡号校验
- 13test02:信用卡校验
- 信用卡号校验
- 信用卡号校验
- 信用卡号校验
- Luhn算法信用卡号校验
- Objective-C实现信用卡校验
- ytu 1335: 信用卡号校验
- 003_015 Python 检查信用卡校验和
- Luhn算法 C#实现 信用卡校验
- OJ刷题---信用卡号校验(Luhn算法)
- 刷题、OJ 1335 信用卡号校验
- 信用卡
- VFS之inode
- JSP+Servlet培训班作业管理系统[17] -完结篇之功能点介绍
- 字符串类_运算符重载
- 51 NOD 1239 欧拉函数之和(杜教筛)
- 类初始化顺序备忘
- 信用卡校验
- VFS之file描述
- 筋斗云接口编程 / 对象型接口(三)
- Gson存在的问题(更准确地说是它不同的做法)
- 详解shell语法检查模式
- leetcode---Super Ugly Number
- 筋斗云接口编程 / 对象型接口(四)
- java解析获取Excel中的数据--同时兼容2003及2007
- VFS之dentry目录项描述