Commit 31ceeba

mo <mo.khan@gmail.com>
2019-06-10 02:15:34
calculate even digit sum
1 parent 7ca950e
src/Q3/CreditCard.java
@@ -18,9 +18,10 @@ public class CreditCard {
 
       int digit = Character.getNumericValue(reversed.charAt(i));
       if ((i + 1) % 2 == 0) {
-      } else {
-        this.oddSum += digit;
-      }
+        String value = String.valueOf(digit * 2);
+        for (int j = 0; j < value.length(); j++)
+          this.evenSum += Character.getNumericValue(value.charAt(j));
+      } else this.oddSum += digit;
     }
   }
 
@@ -88,4 +89,8 @@ public class CreditCard {
 
     return "Unknown";
   }
+
+  private void puts(String format, Object... args) {
+    System.out.println(String.format(format, args));
+  }
 }
src/Q3/CreditCardTest.java
@@ -51,6 +51,11 @@ public class CreditCardTest extends TestCase {
     assertEquals(38, CreateSUT("4388576018402626").getOddSum());
   }
 
+  public void test_getEvenSum() {
+    assertEquals(28, CreateSUT("49927398716").getEvenSum());
+    assertEquals(37, CreateSUT("4388576018402626").getEvenSum());
+  }
+
   private CreditCard CreateSUT(String number) {
     return new CreditCard(number);
   }