/*
当你输入信用卡号码的时候,有没有担心输错了而造成损失呢?其实可以不必这么担心,
因为并不是一个随便的信用卡号码都是合法的,它必须通过 Luhn 算法来验证通过。
该校验的过程:
1、从卡号最后一位数字开始,逆向将奇数位(1、3、5 等等)相加。
2、从卡号最后一位数字开始,逆向将偶数位数字,先乘以 2(如果乘积为两位数,则将其减去 9),再求和。
3、将奇数位总和加上偶数位总和,结果应该可以被 10 整除。
例如,卡号是:5432123456788881
则奇数、偶数位(用红色标出)分布:5432123456788881
奇数位和=35
偶数位乘以 2(有些要减去 9)的结果:1 6 2 6 1 5 7 7,求和=35。
最后 35+35=70 可以被 10 整除,认定校验通过。
请编写一个程序,从键盘输入卡号,然后判断是否校验通过。通过显示:“成功”,否则显示“失败”。
比如,用户输入:356827027232780
程序输出:成功
*/
package Question20_29;
import java.io.InputStreamReader;
import java.util.Scanner;
public class Question23 {
public static String judge(String s) {
int count=1;
int sum=0;
for (int i = s.length()-1; i >=0 ; i--,count++) {
if(count%2==1){
sum+=(s.charAt(i)-'0');
}else {
45
sum+=(s.charAt(i)-'0')*2>=10?(s.charAt(i)-'0')*2-9:(s.charAt(i)-'0')*2;
}
}
if(sum%10==0){
return "成功";
}else {
return "失败";
}
}
public static void main(String[] args) {
Scanner scanner=new Scanner(System.in);
String s=scanner.nextLine();
System.out.println(judge(s));
}
}

运行结果:
输入卡号:5432123456788881
成功

java实现输入信用卡号码相关推荐

  1. java 判断是否信用卡_用java实现验证输入信用卡号码的正误

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

  2. 蓝桥杯 输入信用卡号码

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

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

    import java.util.Scanner;/*** 当你输入信用卡号码的时候,有没有担心输错了而造成损失呢?其实可以不必这么担心,* 因为并不是一个随便的信用卡号码都是合法的,它必须通过Luh ...

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

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

  5. 输入银行卡号码正确性验证

    输入银行卡号码 分类: 蓝桥杯软件大赛编程题2013-06-19 12:45 186人阅读 评论(0) 收藏 举报 [java] view plaincopy package cn.dlpu.lby; ...

  6. Java黑皮书课后题第6章:**6.31(金融应用:信用卡号的合法性验证)和**6.32 编写程序,提示用户输入一个long型整数的信用卡号码,显示这个数字是合法的还是非法的

    6.31(金融应用:信用卡号的合法性验证)编写程序,提示用户输入一个long型整数的信用卡号码,显示这个数字是合法的还是非法的 6.31题目 题目描述 破题 6.31代码 6.32 代码 运行实例 6 ...

  7. 判断用户输入的8位信用卡号码是否合法

    信用卡号是否合法的判断规则为: a) 对给定的8位信用卡号码,如43589795,从最右边数字开始,隔一位取一个数相加,如5+7+8+3=23. b) 将卡号中未出现在第一步中的每个数字乘2,然后将相 ...

  8. java双色球抽奖。抽奖号码由六个红球号码和一个蓝球号码组成红色号码由1~33组成,不能重复,蓝色号码由1~16组成可以与红色号码数组重复。用户输入中奖号码后打印最后的中奖结果情况。

    分析: 1.创建三个方法分别得到开奖号码(奖池号码),中奖号码(用户输入的中奖号码),和一个避免开奖号码和中奖号码里出现重复号码的comPare方法. 2.在主方法里调用方法得到开奖号码,中奖号码,在 ...

  9. JAVA 输入身份证号码进行验证正误,15位转18位,并解析出生日、当前年龄、地区代码、性别

    我们的身份证号码包含很多的信息,下面的代码提供了身份证的解析功能,具体看注释吧,已经写全了 import java.text.SimpleDateFormat; import java.util.Da ...

最新文章

  1. linux如何去掉目录背景颜色
  2. 1.11 多异常捕获
  3. array_merge
  4. Redis高可用基石--主从同步
  5. java中链式调用_Java及Android中常用链式调用写法简单示例
  6. php如何使用高阶函数
  7. 深入研究java.lang.ThreadLocal类
  8. 比大小 log_2^3 与 log_3^5
  9. 构建自己的NSZombie
  10. LoadRunner11在Win10 下的破解解决办法(整合)
  11. java班级管理系统代码_基于jsp的班级管理系统-JavaEE实现班级管理系统 - java项目源码...
  12. 计算机制谱软件finale+2011应用教程,Finale2014(打谱软件)
  13. 电脑进入安全模式的两种方法
  14. 基于Web实现在线绘画拓扑图[GraphEditor]
  15. Altium designer常用设置【转】
  16. 电脑文件自动备份云服务器,百度云如何自动备份电脑文件 百度云自动备份电脑文件的方法...
  17. unity3d学习笔记-着色器(3.凹凸贴图Bump Maps)
  18. bilibili level up
  19. Nexus 搭建docker本地仓库(hosted)和私有仓库(proxy)
  20. LeetCode 605[Python]. 种花问题 假设你有一个很长的花坛,一部分地块种植了花,另一部分却没有。可是,花卉不能种植在相邻的地块上,它们会争夺水源,两者都会死去。

热门文章

  1. 元宇宙到底是什么?让我们来看看科技达人们是怎么讲的。
  2. win10笔记本:掉帧卡顿、开机后卡顿、玩游戏帧数低、GPU占用率上不去,解决办法
  3. 腾讯安全2020年区块链成绩单出炉
  4. layui中如何让多个控件在一行显示
  5. lisp不是函授型语言_LISP语言
  6. VS2017专业版和企业版下载激活
  7. 关于LSB图片隐写的解法
  8. python好学吗 老程序员-学习python,难道是为了当一名苦逼的程序员吗?
  9. 银河麒麟V10桌面系统卡于光标处无法进入系统解决方法
  10. Python基础-*args和**kwargs魔法变量