您的位置:首页 > 职场人生

编写一个程序,验证从标准输入获得的信用卡号是否校验通过, 校验通过,则输出”成功“,校验未通过则输出”失败“。

2017-10-18 14:16 525 查看
编写一个程序,验证从标准输入获得的信用卡号是否校验通过,
校验通过,则输出”成功“,校验未通过则输出”失败“。该校验过程如下:
(1)从卡号最后一位数字开始,逆向将奇数位(l,3,5等等)相加。
(2)从卡号最后一位数字开始,逆向将偶数位数字,先乘以2(如果乘积为两位数,
则将其减去9),再求和。
(3)将奇数位总和加上偶数位总和,结果应该可以被10整除。
例如,卡号是54321123456788881,则程序应输出:成功。请编程实现。
public class YanZheng {public static void main(String[] args) {Scanner  sc = new Scanner(System.in);System.out.println("请输入你的信用卡号:");String  num = sc.nextLine();odd(num);even(num);if ((odd(num)+even(num))%10==0) {System.out.println("恭喜你,验证成功!");}else {System.out.println("对不起,验证失败!");}}private  static int odd(String  num) {// TODO Auto-generated method stubchar[] arr = num.toCharArray();int sum = 0;for (int i = arr.length-1; i >= 0; i-=2) {sum+=Character.getNumericValue(arr[i]);}return sum;}private static int even(String  num) {// TODO Auto-generated method stubchar[] arr = num.toCharArray();int sum = 0;int b = 0;for (int i = arr.length-2; i >= 0; i-=2) {b=Integer.parseInt(arr[i]+"")*2;if (b>9) {b=b-9;}sum+=b;}return sum;}}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  面试题 Java 验证 奇偶
相关文章推荐