小编Aro*_*rom的帖子

循环使用java中的信用卡验证

我是计算机科学入门课程的高中生.我们的任务如下:

信用卡号码的最后一位是校验位,可防止转录错误,例如单个数字错误或切换两位数字.以下方法用于验证实际的信用卡号,但为简单起见,我们将为8位数而不是16位的数字描述它:

  • 从最右边的数字开始,形成每个其他数字的总和.例如,如果信用卡号是4358 9795,那么您形成总和5 + 7 + 8 + 3 = 23.
  • 将前一步骤中未包含的每个数字加倍.添加结果数字的所有数字.例如,使用上面给出的数字,将数字加倍,从倒数第二个开始,得到18 18 10 8.在这些值中添加所有数字得到1 + 8 + 1 + 8 + 1 + 0 + 8 = 27.
  • 添加前两个步骤的总和.如果结果的最后一位为0,则该数字有效.在我们的例子中,23 + 27 = 50,所以这个数字是有效的.

编写实现此算法的程序.用户应提供一个8位数字,您应该打印出该号码是否有效.如果它无效,您应该打印出使数字有效的校验位的值.

我做了一切,除了粗体部分.我的代码如下:

public class CreditCard 
{ 

    private String creditCardNumber;
    private boolean valid;
    private int checkDigit;
    int totalSum;

    /**
     * Constructor for objects of class CreditCard
     */
    public CreditCard(String pCreditCardNumber)
    {
        creditCardNumber = pCreditCardNumber;
        checkDigit = Integer.parseInt(pCreditCardNumber.substring(creditCardNumber.length() - 1));
        int sumOfDigits = checkDigit + …
Run Code Online (Sandbox Code Playgroud)

java loops if-statement

5
推荐指数
1
解决办法
2833
查看次数

标签 统计

if-statement ×1

java ×1

loops ×1