summaryrefslogtreecommitdiff
path: root/src/Q3/CreditCard.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/Q3/CreditCard.java')
-rw-r--r--src/Q3/CreditCard.java12
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() {