小编Pon*_*tus的帖子

如何实现Luhn算法?

我正在尝试创建一个程序来验证基于luhn算法的10到12位长数序列,但是我的程序一直告诉我每个数字都是无效的,即使它们不是.

这个数字应该是有效的,但我的代码不这么认为: 8112189876

这个号码不应该是有效的,我的程序同意这个号码,因为它认为每个号码都是无效的: 8112189875

这是我的代码:

static void luhn(){
    System.out.print("Enter number to validate:\n");
    String pnr = input.nextLine();
    int length = pnr.length();
    int sum = 0;
    for (int i = 1, pos = length - 1; i < 10; i++, pos--){
        char tmp = pnr.charAt(pos);
        int num = tmp - 0
        int product;
        if (i % 2 != 0){
            product = num * 1;
        }
        else{
            product = num * 2;
        }
        if (product > 9)
            product -= 9;
        sum+= product; …
Run Code Online (Sandbox Code Playgroud)

java algorithm luhn

3
推荐指数
2
解决办法
1万
查看次数

标签 统计

algorithm ×1

java ×1

luhn ×1