我需要编写一个验证信用卡号码的 Java 程序,为此我需要对每个单独的数字执行操作。如何在不使用字符串或数组的情况下获得这些数字?
问问题
3584 次
2 回答
2
int number; (This would be your credit card number)
while (number > 0) {
System.out.println( number % 10);
number = number / 10;
}
这将以相反的顺序打印它们。您可以通过这种方式对数字执行操作。
于 2013-10-23T21:05:57.923 回答
0
假设您使用的是 64 位整数类型(对于 16 位卡号来说足够了),along
就可以了;例如long num
。
用于num % 10
提取最右边的数字。
用于num / 10
删除最右边的数字。
这就是您需要做的所有事情(显然是在循环结构中),但是为什么要这样呢?反而做好事。使用信用卡号符合的http://en.wikipedia.org/wiki/Luhn_algorithm 。
于 2013-10-23T21:05:12.587 回答