验证信用卡
来源:互联网 发布:java 重载 编辑:程序博客网 时间:2024/06/09 16:48
/** * * @author WSS *1、从卡号最后一位数字开始,逆向将奇数位(1、3、5等等)相加。 * 2、从卡号最后一位数字开始,逆向将偶数位数字,先乘以2(如果乘积为两位数,则将其减去9),再求和。 * 3、将奇数位总和加上偶数位总和,结果应该可以被10整除。 * 例如,卡号是:5432123456788881 * 奇数位和=35 * 偶数位乘以2(有些要减去9)的结果:1 6 2 6 1 5 7 7,求和=35。 * 最后35+35=70 可以被10整除,认定校验通过。 */public class CheckCreditCard {public static boolean checkCreditCard(String s){int odd=0;int even=0;int t=0;char[] c=s.toCharArray();if(c.length%2==0){// 如果位数为偶数个,则第一个数从偶数开始算起 for(int i=0;i<c.length;i++){t=c[i]-'0';if(i%2!=0){odd +=t;}else{ // 第一个数加入到偶数 if(t*2>=10){even += t*2-9;}else{even += t*2;}}}}else{ // 如果位数为奇数个,则第一个数从奇数开始算起 for(int i=0;i<c.length;i++){t=c[i]-'0';if(i%2==0){// 第一个数加入到奇数odd +=t;}else{if(t*2>=10){even +=t*2-9;}else{even += t*2;}}}}int total=odd+even; // 返回奇数位总和加上偶数位总和 if(total % 10==0){return true;}return false;}public static void main(String[] args){Scanner scan=new Scanner(System.in);String s=scan.nextLine();boolean a=checkCreditCard(s);if(a){System.out.println("是信用卡");}else{System.out.println("不是信用卡");}}}
0 0
- 验证信用卡
- 银行卡 信用卡验证
- 信用卡号验证
- 信用卡号验证
- 信用卡号验证
- 蓝桥杯样题-信用卡号验证
- 多种信用卡的js验证
- 信用卡卡号验证算法
- 插件32:信用卡号码验证
- 信用卡卡号验证算法
- 多种信用卡的js验证
- 信用卡验证服务的一般步骤
- 蓝桥杯样题----(编程题)信用卡号验证
- php信用卡卡号验证函数
- jQuery制作信用卡表单验证插件 .
- 信用卡3D验证相关资料
- Python 正则表达式验证信用卡号码
- [蓝桥杯][java]信用卡号验证问题
- Android使用ClassLoader加载类
- Android之ContentProvider详解
- c#下载表格
- Generating Fast, Sorted Permutation
- mysql练习 百度云
- 验证信用卡
- SAP中变式的删除
- 获取webdav服务器目录结构注意事项
- Python 函数的参数传递(1)
- hdu 2689 Sort it
- 图论 BFS HDU 1548
- c++编写类String的构造函数、析构函数和赋值函数
- ajax 请求数据html5版(简单 但兼容性不强)
- UIScrollView一直显示滚动条