diff options
Diffstat (limited to 'src/Q3/CreditCard.java')
| -rw-r--r-- | src/Q3/CreditCard.java | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/Q3/CreditCard.java b/src/Q3/CreditCard.java index e6dc0f8..d8a5371 100644 --- a/src/Q3/CreditCard.java +++ b/src/Q3/CreditCard.java @@ -12,6 +12,16 @@ public class CreditCard { public CreditCard(String num) { this.ccNumber = num; this.company = this.identifyCompany(num); + String reversed = new StringBuilder(num).reverse().toString(); + for (int i = 0; i < reversed.length(); i++) { + if (!Character.isDigit(reversed.charAt(i))) break; + + int digit = Character.getNumericValue(reversed.charAt(i)); + if ((i + 1) % 2 == 0) { + } else { + this.oddSum += digit; + } + } } public int getEvenSum() { @@ -35,7 +45,7 @@ public class CreditCard { } public boolean isValid() { - return this.validateCompany() && this.validateLength(); + return this.validateCompany() && this.validateLength() && this.validateNumber(); } public boolean isDivisibleBy10() { |
