如何获取16位数字的每个数字并将每个数字存储为变量?

时间:2013-10-23 21:02:42

标签: java math digit

我需要编写一个验证信用卡号码的Java程序,为此,我需要对每个数字执行操作。如何在不使用字符串或数组的情况下获取这些数字?

2 个答案:

答案 0 :(得分:2)

int number; (This would be your credit card number)

while (number > 0) {
    System.out.println( number % 10);
    number = number / 10;
}

这将以相反的顺序打印它们。您可以通过这种方式对数字执行操作。

答案 1 :(得分:0)

假设您正在使用64位整数类型(对于16位数的卡号而言已足够),long将执行此操作;例如long num

使用num % 10提取最右边的数字。

使用num / 10删除最右边的数字。

这就是你需要做的所有事情(显然是在一个循环结构中),但为什么这样呢?做得好而不是。使用信用卡号码符合的http://en.wikipedia.org/wiki/Luhn_algorithm