当你输入信用卡号码的时候,有没有担心输错了而造成损失呢?
其实可以不必这么担心,因为并不是一个随便的信用卡号码
都是合法的,它必须通过Luhn算法来验证通过。
该校验的过程:

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整除,认定校验通过。

请编写一个程序,从键盘输入卡号,然后判断是否校验通过。通过显示:“成功”,否则显示“失败”。
比如,用户输入:356827027232780
程序输出:成功
【参考测试用例】
356406010024817 成功
358973017867744 成功
356827027232781 失败
306406010024817 失败
358973017867754 失败

思路:看见这个长的数据直接用String类型,接着满足1,2,3条件输出即可。

import java.util.Scanner;public class Demo2信用卡 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);String string = sc.nextLine();int index = 1; // 记录奇偶性int count = 0; // 最后的总数for (int i = string.length() - 1; i >= 0; i--) {         //逆推if (index % 2 == 1) count += string.charAt(i) - '0'; //奇数else if ((string.charAt(i) - '0') * 2 >= 10)         //偶数*2>两位数,用10代替count += ((string.charAt(i) - '0') * 2 - 9);     //题意-9elsecount += (string.charAt(i) - '0') * 2;           //不是两位数,就正常*2index++;}if   (count % 10 == 0) System.out.println("成功");        //被10整除,成功else System.out.println("失败");}
}

小剧场:只要你不停止,走慢一点没关系。

蓝桥信用卡号验证-枚举法应用 JAVA暴解相关推荐

  1. 蓝桥信用卡号验证 JAVA纯暴力破解

    1.从卡号最后一位数字开始,逆向将奇数位(1.3.5等等)相加. 2.从卡号最后一位数字开始,逆向将偶数位数字, 先乘以2(如果乘积为两位数,则将其减去9),再求和. 3.将奇数位总和加上偶数位总和, ...

  2. 蓝桥杯十届年号字串 JAVA暴解

    小明用字母 A 对应数字 1,B 对应 2,以此类推,用 Z 对应 26.对于 27 以上的数字,小明用两位或更长位的字符串来对应, 例如 AA 对应 27,AB 对 应 28,AZ 对应 52,LQ ...

  3. [蓝桥杯][java]信用卡号验证问题

    import java.util.Scanner; /* [编程大题]信用卡号验证 当你输入信用卡号码的时候,有没有担心输错了而造成损失呢?其实可以不必这么担 心,因为并不是一个随便的信用卡号码都是合 ...

  4. 第十届 蓝桥杯样题 —— 信用卡号验证

    [编程大题]信用卡号验证 当你输入信用卡号码的时候,有没有担心输错了而造成损失呢?其实可以不必这么担心,因为并不是一个随便的信用卡号码都是合法的,它必须通过Luhn算法来验证通过. 该校验的过程: 1 ...

  5. 信用卡Java_信用卡号验证Java程序

    给定一个长号,其中包含信用卡号的位数:任务是通过程序查找信用卡号是否有效. 为了检查信用卡是否有效,以下是我们必须确认的声明结果. 信用卡号必须为13至16位数字,并且必须以以下数字开头.所有签证卡从 ...

  6. 信用卡号校验java_ES reduce 一行代码解决信用卡号验证问题

    背景 女票 JAVA 课程有一道作业题,验证信用卡号是否合法. 实验作业longer 9月30号 星期五 12:09 实验1:验证信用卡号码 Lab Project: Validating Credi ...

  7. c语言信用卡号验证,Javascript验证Visa和MasterCard信用卡号的方法

    本文实例讲述了Javascript验证Visa和MasterCard信用卡号的方法.分享给大家供大家参考.具体实现方法如下: visa验证: Visa Example function luhnChe ...

  8. 蓝桥试题 算法提高 冒泡法排序 JAVA

    资源限制 时间限制:1.0s 内存限制:512.0MB 输入10个数,用"冒泡法"对10个数排序(由小到大)这10个数字在100以内. 样例输入 1 3 6 8 2 7 9 0 4 ...

  9. 枚举法 之Java实现凑硬币

    问题? 如何利用1元五元十元凑硬币 Scanner in=new Scanner(System.in);int amout ;amout=in.nextInt();for(int one =0;one ...

最新文章

  1. 作价20亿美元!英特尔收购以色列AI芯片公司Habana Labs
  2. python图形缝隙填充_Python,如何缝合图像哪些重叠区域?
  3. 贝叶斯厉害在哪里,相当牛的文章
  4. 天眼探空经济发展_【砥砺奋进的五年】观神州 惠民生:“天眼”探空惊艳全球...
  5. 从一盏路灯,看亿万级联接的智能之路
  6. 十大经典排序算法2(Python版本)
  7. Thread 1: signal SIGABRT
  8. vs2008+sp1
  9. 如何使用迅雷下载电骡的资源
  10. php怎么把时间精确到毫秒,如何使用php获取当前时间戳、日期并精确到毫秒
  11. 阿里巴巴大数据之路-大数据领域建模综述
  12. 改了!教育部核准这所985高校更改简称!网友:华科大终于来了
  13. 达叔走了,别只发声感叹就完了
  14. 发力1小时到家服务,山姆与京东到家共建前置仓获10倍坪效、60%月复购率...
  15. android 遥控器方向,android万能遥控器之一--前言及发射部分的简单实现
  16. Biotin-PEG-NH2 生物素PEG氨基
  17. type转HDMI2.0方案|typec转HDMI 4K60Hz电路|CS5265 typec单转优势方案
  18. word格式化字符技巧
  19. 湖南省第六届程序设计竞赛---弟弟的作业
  20. 第3天-Jenkins详解

热门文章

  1. MapStruct系列(5)-映射器数据类型转换详解
  2. 论文阅读:《POI: Multiple Object Tracking with High Performance Detection and Appearance Feature 》
  3. 程序员干累了,当个培训讲师?我亲身试水,讲讲感受
  4. VBS 文本歌词粤语拼音翻译
  5. dw html压缩文件,如何压缩css文件?
  6. UI设计学习路线是什么?
  7. 免费领取三个月苹果ARCADE订阅教程
  8. 单片机炫彩灯实训报告_51单片机呼吸灯实验报告.doc
  9. mysql table plugin_MySQL 启动报错Table 'mysql.plugin' doesn't exis(转载)
  10. 基于STM32的门禁系统源码分享