diff options
| author | mo <mo.khan@gmail.com> | 2019-06-09 19:59:20 -0600 |
|---|---|---|
| committer | mo <mo.khan@gmail.com> | 2019-06-09 19:59:20 -0600 |
| commit | 7ca950ed43cc278bac274c55d25cb5e32f3ca99f (patch) | |
| tree | 0410b1360ec1365e643500eefe2c4378c5ad32f2 /src/Q3/CreditCard.java | |
| parent | 98592c539c36a989ea1226c2578a93abc95db1fe (diff) | |
sum the odd digits
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() { |
