kskumar Posted August 21, 2015 Report Posted August 21, 2015 /***************************************************************************** * Write class to validate credit card number using LUHN Formula(Mod 10) * Algorithm to validate check digits: * 1 - Beginning at the rightmost digit, moving right to left, sum the digits. * 2 - For every 2nd digit(from right), double value first, then sum * the value of each digit in the doubled number.e.g 6 -> 12, add 1 + 2 * 3 - Sum for all digits * 4 - Take Sum modulo 10, if equal 0, then return true, else false. * Ex. "6314", Right->Left digits: 4, (2*1), 3, (2*6), so * Sum = (4) + (0+2) + (3) + (1+2) = 12, MOD10(12) = 2, so false ***************************************************************************** */ public class CreditCardCheckDigits { public CreditCardCheckDigits() { // TODO Auto-generated constructor stub } public static boolean checkDigits(String card) { // insert required code below } public static void lookup(String s) { System.out.println("Card Number " + s + " validation is " + checkDigits(s)); } public static void main(String[] args) { lookup("6314"); lookup("33344555588907"); lookup("49927398716"); lookup("8888888555888888"); } } // Sample output // Card Number 6314 validation is false // Card Number 33344555588907 validation is true // Card Number 49927398716 validation is true // Card Number 8888888555888888 validation is false
kskumar Posted August 21, 2015 Author Report Posted August 21, 2015 /**************************************************************************** * Class for incrementing and decrementing a counter using 2 threads * This class executes, but stops printing the values after a few iterations. * What could be the issue.... How would you debug, or suggest a change **************************************************************************** */ public class ConcurrentIncDec { private Counter a = null; private Counter b = null; public class Counter { private int count; public Counter() { this.count = 0;} // increment count and return public int increment() {return ++this.count;} // decrement count and return public int decrement() {return --this.count;} } public ConcurrentIncDec() { a = new Counter(); b = new Counter(); } // Thread to increment a, and decrement b Thread trd1 = new Thread("T1") { public void run() { while (true) { synchronized (a) { synchronized (b) { System.out.println(getName() + ", a = " + a.increment() + ", b = " + b.decrement()); } } } } }; // Thread to increment b, and decrement a Thread trd2 = new Thread("T2") { public void run() { while (true) { synchronized (b) { synchronized (a) { System.out.println(getName() + ", a = " + a.decrement() + ", b = " + b.increment()); } } } } }; public static void main(String[] args) { ConcurrentIncDec mdl = new ConcurrentIncDec(); mdl.trd1.start(); mdl.trd2.start(); } }
ramdatascience Posted August 21, 2015 Report Posted August 21, 2015 wrong place bro masala thread vey full comments untayi no educational posts here
shivakumar577 Posted August 21, 2015 Report Posted August 21, 2015 T1, a = 1, b = -1 T1, a = 2, b = -2 T1, a = 3, b = -3 T1, a = 4, b = -4 T1, a = 5, b = -5 T1, a = 6, b = -6 T1, a = 7, b = -7 T1, a = 8, b = -8 T1, a = 9, b = -9 T1, a = 10, b = -10 T1, a = 11, b = -11 T1, a = 12, b = -12 T1, a = 13, b = -13 T1, a = 14, b = -14 T1, a = 15, b = -15 T1, a = 16, b = -16 T1, a = 17, b = -17 T1, a = 18, b = -18 T1, a = 19, b = -19 T1, a = 20, b = -20 T1, a = 21, b = -21 T1, a = 22, b = -22 T1, a = 23, b = -23 T1, a = 24, b = -24 T1, a = 25, b = -25 T1, a = 26, b = -26 T1, a = 27, b = -27 T1, a = 28, b = -28 T1, a = 29, b = -29 T1, a = 30, b = -30 T1, a = 31, b = -31 T1, a = 32, b = -32 T1, a = 33, b = -33 T1, a = 34, b = -34 T1, a = 35, b = -35 T1, a = 36, b = -36 T1, a = 37, b = -37 T1, a = 38, b = -38 T1, a = 39, b = -39 T1, a = 40, b = -40 T1, a = 41, b = -41 T1, a = 42, b = -42 T1, a = 43, b = -43 T1, a = 44, b = -44 T1, a = 45, b = -45 T1, a = 46, b = -46 T1, a = 47, b = -47 T1, a = 48, b = -48 T1, a = 49, b = -49 T1, a = 50, b = -50 T1, a = 51, b = -51 T1, a = 52, b = -52 T1, a = 53, b = -53 T1, a = 54, b = -54 T1, a = 55, b = -55 T1, a = 56, b = -56 T1, a = 57, b = -57 T1, a = 58, b = -58 T1, a = 59, b = -59 T1, a = 60, b = -60 T1, a = 61, b = -61 T1, a = 62, b = -62 T1, a = 63, b = -63 T1, a = 64, b = -64 T1, a = 65, b = -65 T1, a = 66, b = -66 T1, a = 67, b = -67 T1, a = 68, b = -68 T1, a = 69, b = -69 T1, a = 70, b = -70 T1, a = 71, b = -71 T1, a = 72, b = -72 T1, a = 73, b = -73 T1, a = 74, b = -74 T1, a = 75, b = -75 T1, a = 76, b = -76 T1, a = 77, b = -77 T1, a = 78, b = -78 T1, a = 79, b = -79 T1, a = 80, b = -80 T1, a = 81, b = -81 T1, a = 82, b = -82 T1, a = 83, b = -83 T1, a = 84, b = -84 T1, a = 85, b = -85 T1, a = 86, b = -86 T1, a = 87, b = -87 T1, a = 88, b = -88 T1, a = 89, b = -89 T1, a = 90, b = -90 T1, a = 91, b = -91 T1, a = 92, b = -92 T1, a = 93, b = -93 T1, a = 94, b = -94 T1, a = 95, b = -95 T1, a = 96, b = -96 T1, a = 97, b = -97 T1, a = 98, b = -98 T1, a = 99, b = -99 T1, a = 100, b = -100 T1, a = 101, b = -101 T1, a = 102, b = -102 T1, a = 103, b = -103 T1, a = 104, b = -104 T1, a = 105, b = -105 T1, a = 106, b = -106 T1, a = 107, b = -107 T1, a = 108, b = -108 T1, a = 109, b = -109 T1, a = 110, b = -110 T1, a = 111, b = -111 T1, a = 112, b = -112 T1, a = 113, b = -113 T1, a = 114, b = -114 T1, a = 115, b = -115 T1, a = 116, b = -116 T1, a = 117, b = -117 T1, a = 118, b = -118 T1, a = 119, b = -119 T1, a = 120, b = -120 T1, a = 121, b = -121 T1, a = 122, b = -122 T1, a = 123, b = -123 T1, a = 124, b = -124 T1, a = 125, b = -125 T1, a = 126, b = -126 T1, a = 127, b = -127 T1, a = 128, b = -128 T1, a = 129, b = -129 T1, a = 130, b = -130 T1, a = 131, b = -131 T1, a = 132, b = -132 T1, a = 133, b = -133 T1, a = 134, b = -134 T1, a = 135, b = -135 T1, a = 136, b = -136 T1, a = 137, b = -137 T1, a = 138, b = -138 T1, a = 139, b = -139 T1, a = 140, b = -140 T1, a = 141, b = -141 T1, a = 142, b = -142 T1, a = 143, b = -143 T1, a = 144, b = -144 T1, a = 145, b = -145 T1, a = 146, b = -146 T1, a = 147, b = -147 T1, a = 148, b = -148 T1, a = 149, b = -149 T1, a = 150, b = -150 T1, a = 151, b = -151 T1, a = 152, b = -152 T1, a = 153, b = -153 T1, a = 154, b = -154 T1, a = 155, b = -155 T1, a = 156, b = -156 T1, a = 157, b = -157 T1, a = 158, b = -158 T1, a = 159, b = -159 T1, a = 160, b = -160 T1, a = 161, b = -161 T1, a = 162, b = -162 T1, a = 163, b = -163 T1, a = 164, b = -164 T1, a = 165, b = -165 T1, a = 166, b = -166 T1, a = 167, b = -167 T1, a = 168, b = -168 T1, a = 169, b = -169 T1, a = 170, b = -170 T1, a = 171, b = -171 T1, a = 172, b = -172 T1, a = 173, b = -173 T1, a = 174, b = -174 T1, a = 175, b = -175 T1, a = 176, b = -176 T1, a = 177, b = -177 T1, a = 178, b = -178 T1, a = 179, b = -179 T1, a = 180, b = -180 T1, a = 181, b = -181 T1, a = 182, b = -182 T1, a = 183, b = -183 T1, a = 184, b = -184 T1, a = 185, b = -185 T1, a = 186, b = -186 T1, a = 187, b = -187 T1, a = 188, b = -188 T1, a = 189, b = -189 T1, a = 190, b = -190 T1, a = 191, b = -191 T1, a = 192, b = -192 T1, a = 193, b = -193 T1, a = 194, b = -194 T1, a = 195, b = -195 T1, a = 196, b = -196 T1, a = 197, b = -197 T1, a = 198, b = -198 T1, a = 199, b = -199 T1, a = 200, b = -200 T1, a = 201, b = -201 T1, a = 202, b = -202 T1, a = 203, b = -203 T1, a = 204, b = -204 T1, a = 205, b = -205 T1, a = 206, b = -206 T1, a = 207, b = -207 T1, a = 208, b = -208 T1, a = 209, b = -209 T1, a = 210, b = -210 T1, a = 211, b = -211 T1, a = 212, b = -212 T1, a = 213, b = -213 T1, a = 214, b = -214 T1, a = 215, b = -215 T1, a = 216, b = -216 T1, a = 217, b = -217 T1, a = 218, b = -218 T1, a = 219, b = -219 T1, a = 220, b = -220 T1, a = 221, b = -221 T1, a = 222, b = -222 T1, a = 223, b = -223 T1, a = 224, b = -224 T1, a = 225, b = -225 T1, a = 226, b = -226 T1, a = 227, b = -227 T1, a = 228, b = -228 T1, a = 229, b = -229 T1, a = 230, b = -230 T1, a = 231, b = -231 T1, a = 232, b = -232 T1, a = 233, b = -233 T1, a = 234, b = -234 T1, a = 235, b = -235 T1, a = 236, b = -236 T1, a = 237, b = -237 T1, a = 238, b = -238 T1, a = 239, b = -239 T1, a = 240, b = -240 T1, a = 241, b = -241 T1, a = 242, b = -242 T1, a = 243, b = -243 T1, a = 244, b = -244 T1, a = 245, b = -245 T1, a = 246, b = -246 T1, a = 247, b = -247 T1, a = 248, b = -248 T1, a = 249, b = -249 T1, a = 250, b = -250 T1, a = 251, b = -251 T1, a = 252, b = -252 T1, a = 253, b = -253 T1, a = 254, b = -254 T1, a = 255, b = -255 T1, a = 256, b = -256 T1, a = 257, b = -257 T1, a = 258, b = -258 T1, a = 259, b = -259 T1, a = 260, b = -260 T1, a = 261, b = -261 T1, a = 262, b = -262 T1, a = 263, b = -263 T1, a = 264, b = -264 T1, a = 265, b = -265 T1, a = 266, b = -266 T1, a = 267, b = -267 T1, a = 268, b = -268 T1, a = 269, b = -269 T1, a = 270, b = -270 T1, a = 271, b = -271 T1, a = 272, b = -272 T1, a = 273, b = -273 T1, a = 274, b = -274 T1, a = 275, b = -275 T1, a = 276, b = -276 T1, a = 277, b = -277 T1, a = 278, b = -278 T1, a = 279, b = -279 T1, a = 280, b = -280 T1, a = 281, b = -281 T1, a = 282, b = -282 T1, a = 283, b = -283 T1, a = 284, b = -284 T1, a = 285, b = -285 T1, a = 286, b = -286 T1, a = 287, b = -287 T1, a = 288, b = -288 T1, a = 289, b = -289 T1, a = 290, b = -290 T1, a = 291, b = -291 T1, a = 292, b = -292 T1, a = 293, b = -293 T1, a = 294, b = -294 T1, a = 295, b = -295 T1, a = 296, b = -296 T1, a = 297, b = -297 T1, a = 298, b = -298 T1, a = 299, b = -299 T1, a = 300, b = -300 T1, a = 301, b = -301 T1, a = 302, b = -302 T1, a = 303, b = -303 T1, a = 304, b = -304 T1, a = 305, b = -305 T1, a = 306, b = -306 T1, a = 307, b = -307 T1, a = 308, b = -308 T1, a = 309, b = -309 T1, a = 310, b = -310 T1, a = 311, b = -311 T1, a = 312, b = -312 T1, a = 313, b = -313 T1, a = 314, b = -314 T1, a = 315, b = -315 T1, a = 316, b = -316 T1, a = 317, b = -317 T1, a = 318, b = -318 T1, a = 319, b = -319 T1, a = 320, b = -320 T1, a = 321, b = -321 T1, a = 322, b = -322 T1, a = 323, b = -323 T1, a = 324, b = -324 T1, a = 325, b = -325 T1, a = 326, b = -326 T1, a = 327, b = -327 T1, a = 328, b = -328 T1, a = 329, b = -329 T1, a = 330, b = -330 T1, a = 331, b = -331 T1, a = 332, b = -332 T1, a = 333, b = -333 T1, a = 334, b = -334 T1, a = 335, b = -335 T1, a = 336, b = -336 T1, a = 337, b = -337 T1, a = 338, b = -338 T1, a = 339, b = -339 T1, a = 340, b = -340 T1, a = 341, b = -341 T1, a = 342, b = -342 T1, a = 343, b = -343 T1, a = 344, b = -344 T1, a = 345, b = -345 T1, a = 346, b = -346 T1, a = 347, b = -347 T1, a = 348, b = -348 T1, a = 349, b = -349 T1, a = 350, b = -350 T1, a = 351, b = -351 T1, a = 352, b = -352 T1, a = 353, b = -353 T1, a = 354, b = -354 T1, a = 355, b = -355 T1, a = 356, b = -356 T1, a = 357, b = -357 T1, a = 358, b = -358 T1, a = 359, b = -359 T1, a = 360, b = -360 T1, a = 361, b = -361 T1, a = 362, b = -362 T1, a = 363, b = -363 T1, a = 364, b = -364 T1, a = 365, b = -365 T1, a = 366, b = -366 T1, a = 367, b = -367 T1, a = 368, b = -368 T1, a = 369, b = -369 T1, a = 370, b = -370 T1, a = 371, b = -371 T1, a = 372, b = -372 T1, a = 373, b = -373 T1, a = 374, b = -374 T1, a = 375, b = -375 T1, a = 376, b = -376 T1, a = 377, b = -377 T1, a = 378, b = -378 T1, a = 379, b = -379 T1, a = 380, b = -380 T1, a = 381, b = -381 T1, a = 382, b = -382 T1, a = 383, b = -383 T1, a = 384, b = -384 T1, a = 385, b = -385 T1, a = 386, b = -386 T1, a = 387, b = -387 T1, a = 388, b = -388 T1, a = 389, b = -389 T1, a = 390, b = -390 T1, a = 391, b = -391 T1, a = 392, b = -392 T1, a = 393, b = -393 T1, a = 394, b = -394 T1, a = 395, b = -395 T1, a = 396, b = -396 T1, a = 397, b = -397 T1, a = 398, b = -398 T1, a = 399, b = -399 T1, a = 400, b = -400 T1, a = 401, b = -401 T1, a = 402, b = -402 T1, a = 403, b = -403 T1, a = 404, b = -404 T1, a = 405, b = -405 T1, a = 406, b = -406 T1, a = 407, b = -407 T1, a = 408, b = -408 T1, a = 409, b = -409 T1, a = 410, b = -410 T1, a = 411, b = -411 T1, a = 412, b = -412 T1, a = 413, b = -413 T1, a = 414, b = -414 T1, a = 415, b = -415 T1, a = 416, b = -416 T1, a = 417, b = -417 T1, a = 418, b = -418 T1, a = 419, b = -419 T1, a = 420, b = -420 T1, a = 421, b = -421 T1, a = 422, b = -422 T1, a = 423, b = -423 T1, a = 424, b = -424 T1, a = 425, b = -425 T1, a = 426, b = -426 T1, a = 427, b = -427 T1, a = 428, b = -428 T1, a = 429, b = -429 T1, a = 430, b = -430 T1, a = 431, b = -431 T1, a = 432, b = -432 T1, a = 433, b = -433 T1, a = 434, b = -434 T1, a = 435, b = -435 T1, a = 436, b = -436 T1, a = 437, b = -437 T1, a = 438, b = -438 T1, a = 439, b = -439 T1, a = 440, b = -440 T1, a = 441, b = -441 T1, a = 442, b = -442 T1, a = 443, b = -443 T1, a = 444, b = -444 T1, a = 445, b = -445 T1, a = 446, b = -446 T1, a = 447, b = -447 T1, a = 448, b = -448 T1, a = 449, b = -449 T1, a = 450, b = -450 T1, a = 451, b = -451 T1, a = 452, b = -452 T1, a = 453, b = -453 T1, a = 454, b = -454 T1, a = 455, b = -455 T1, a = 456, b = -456 T1, a = 457, b = -457 T1, a = 458, b = -458 T1, a = 459, b = -459 T1, a = 460, b = -460 T1, a = 461, b = -461 T1, a = 462, b = -462 T1, a = 463, b = -463 T1, a = 464, b = -464 T1, a = 465, b = -465 T1, a = 466, b = -466 T1, a = 467, b = -467 T1, a = 468, b = -468 T1, a = 469, b = -469 T1, a = 470, b = -470 T1, a = 471, b = -471 T1, a = 472, b = -472 T1, a = 473, b = -473 T1, a = 474, b = -474 T1, a = 475, b = -475 T1, a = 476, b = -476 T1, a = 477, b = -477 T1, a = 478, b = -478 T1, a = 479, b = -479 T1, a = 480, b = -480 T1, a = 481, b = -481 T1, a = 482, b = -482 T1, a = 483, b = -483 T1, a = 484, b = -484 T1, a = 485, b = -485 T1, a = 486, b = -486 T1, a = 487, b = -487 T1, a = 488, b = -488 T1, a = 489, b = -489 T1, a = 490, b = -490 T1, a = 491, b = -491 T1, a = 492, b = -492 T1, a = 493, b = -493 T1, a = 494, b = -494 T1, a = 495, b = -495 T1, a = 496, b = -496 T1, a = 497, b = -497 T1, a = 498, b = -498 T1, a = 499, b = -499 T1, a = 500, b = -500 T1, a = 501, b = -501 T1, a = 502, b = -502 T1, a = 503, b = -503 T1, a = 504, b = -504 T1, a = 505, b = -505 T1, a = 506, b = -506 T1, a = 507, b = -507 T1, a = 508, b = -508 T1, a = 509, b = -509 T1, a = 510, b = -510 T1, a = 511, b = -511 T1, a = 512, b = -512 T1, a = 513, b = -513 T1, a = 514, b = -514 T1, a = 515, b = -515 T1, a = 516, b = -516 T1, a = 517, b = -517 T1, a = 518, b = -518 T1, a = 519, b = -519 T1, a = 520, b = -520 T1, a = 521, b = -521 T1, a = 522, b = -522 T1, a = 523, b = -523 T1, a = 524, b = -524 T1, a = 525, b = -525 T1, a = 526, b = -526 T1, a = 527, b = -527 T1, a = 528, b = -528 T1, a = 529, b = -529 T1, a = 530, b = -530 T1, a = 531, b = -531 T1, a = 532, b = -532 T1, a = 533, b = -533 T1, a = 534, b = -534 T1, a = 535, b = -535 T1, a = 536, b = -536 T1, a = 537, b = -537 T1, a = 538, b = -538 T1, a = 539, b = -539 T1, a = 540, b = -540 T1, a = 541, b = -541 T1, a = 542, b = -542 T1, a = 543, b = -543 T1, a = 544, b = -544 T1, a = 545, b = -545 T1, a = 546, b = -546 T1, a = 547, b = -547 T1, a = 548, b = -548 T1, a = 549, b = -549 T1, a = 550, b = -550 T1, a = 551, b = -551 T1, a = 552, b = -552 T1, a = 553, b = -553 T1, a = 554, b = -554 T1, a = 555, b = -555 T1, a = 556, b = -556 T1, a = 557, b = -557 T1, a = 558, b = -558 T1, a = 559, b = -559 T1, a = 560, b = -560 T1, a = 561, b = -561 T1, a = 562, b = -562 T1, a = 563, b = -563 T1, a = 564, b = -564 T1, a = 565, b = -565 T1, a = 566, b = -566 T1, a = 567, b = -567 T1, a = 568, b = -568 T1, a = 569, b = -569 T1, a = 570, b = -570 T1, a = 571, b = -571 T1, a = 572, b = -572 T1, a = 573, b = -573 T1, a = 574, b = -574 T1, a = 575, b = -575 T1, a = 576, b = -576 T1, a = 577, b = -577 T1, a = 578, b = -578 T1, a = 579, b = -579 T1, a = 580, b = -580 T1, a = 581, b = -581 T1, a = 582, b = -582 T1, a = 583, b = -583 T1, a = 584, b = -584 T1, a = 585, b = -585 T1, a = 586, b = -586 T1, a = 587, b = -587 T1, a = 588, b = -588 T1, a = 589, b = -589 T1, a = 590, b = -590 T1, a = 591, b = -591 T1, a = 592, b = -592 T1, a = 593, b = -593 T1, a = 594, b = -594 T1, a = 595, b = -595 T1, a = 596, b = -596 T1, a = 597, b = -597 T1, a = 598, b = -598 T1, a = 599, b = -599 T1, a = 600, b = -600 T1, a = 601, b = -601 T1, a = 602, b = -602 T1, a = 603, b = -603 T1, a = 604, b = -604 T1, a = 605, b = -605 T1, a = 606, b = -606 T1, a = 607, b = -607 T1, a = 608, b = -608 T1, a = 609, b = -609 T1, a = 610, b = -610 T1, a = 611, b = -611 T1, a = 612, b = -612 T1, a = 613, b = -613
shivakumar577 Posted August 21, 2015 Report Posted August 21, 2015 as they used while(true)... it goes to infinity
kskumar Posted August 21, 2015 Author Report Posted August 21, 2015 na_istam nuvu chepina output deniki first post ka leka second post ka
ramudu3 Posted August 21, 2015 Report Posted August 21, 2015 synchronized (a) { synchronized (b) { System.out.println(getName() + ", a = " + a.increment() + ", b = " + b.decrement()); } -- Ikkada first object a meedha synchronized block thesukunnav kadhaa .... and immediate gaa object b meedha kuda synchronized block thesukuntunav synchronized (b) { synchronized (a) { System.out.println(getName() + ", a = " + a.decrement() + ", b = " + b.increment()); } -- Ikkada first object b meedha synchronized block thesukunnav kadhaa .... and immediate gaa object a meedha kuda synchronized block thesukuntunav So dead lock vochindi andhukee programm agipothadi .... explanation inka kavali antee cheppu /**************************************************************************** * Class for incrementing and decrementing a counter using 2 threads * This class executes, but stops printing the values after a few iterations. * What could be the issue.... How would you debug, or suggest a change **************************************************************************** */ public class ConcurrentIncDec { private Counter a = null; private Counter b = null; public class Counter { private int count; public Counter() { this.count = 0;} // increment count and return public int increment() {return ++this.count;} // decrement count and return public int decrement() {return --this.count;} } public ConcurrentIncDec() { a = new Counter(); b = new Counter(); } // Thread to increment a, and decrement b Thread trd1 = new Thread("T1") { public void run() { while (true) { synchronized (a) { synchronized (b) { System.out.println(getName() + ", a = " + a.increment() + ", b = " + b.decrement()); } } } } }; // Thread to increment b, and decrement a Thread trd2 = new Thread("T2") { public void run() { while (true) { synchronized (b) { synchronized (a) { System.out.println(getName() + ", a = " + a.decrement() + ", b = " + b.increment()); } } } } }; public static void main(String[] args) { ConcurrentIncDec mdl = new ConcurrentIncDec(); mdl.trd1.start(); mdl.trd2.start(); } }
shivakumar577 Posted August 21, 2015 Report Posted August 21, 2015 na_istam nuvu chepina output deniki first post ka leka second post ka 2nd post
SeemaLekka Posted August 21, 2015 Report Posted August 21, 2015 wrong place bro masala thread vey full comments untayi no educational posts here chala mandi help pondaru neku teledemo
alpachinao Posted August 21, 2015 Report Posted August 21, 2015 as they used while(true)... it goes to infinity no it will struct in between as there is a sync used which will have lock and deadlock may occur process will for each other on same obj.
shivakumar577 Posted August 21, 2015 Report Posted August 21, 2015 no it will struct in between as there is a sync used which will have lock and deadlock may occur process will for each other on same obj. yep... in-proper output vasthundhi... sometimes blocking with few values... created a new project and tested it thanks ba!
ramudu3 Posted August 21, 2015 Report Posted August 21, 2015 /***************************************************************************** * Write class to validate credit card number using LUHN Formula(Mod 10) * Algorithm to validate check digits: * 1 - Beginning at the rightmost digit, moving right to left, sum the digits. * 2 - For every 2nd digit(from right), double value first, then sum * the value of each digit in the doubled number.e.g 6 -> 12, add 1 + 2 * 3 - Sum for all digits * 4 - Take Sum modulo 10, if equal 0, then return true, else false. * Ex. "6314", Right->Left digits: 4, (2*1), 3, (2*6), so * Sum = (4) + (0+2) + (3) + (1+2) = 12, MOD10(12) = 2, so false ***************************************************************************** */ public class CreditCardCheckDigits { public CreditCardCheckDigits() { // TODO Auto-generated constructor stub } public static boolean checkDigits(String card) { // insert required code below -- ikkada code lenidhi output etla vosthadi vayaa.... kindaa code rasaa chudu @ Code by KVVijayendraPrasad if (card.length() == 16) { char[] c = card.toCharArray(); int[] cint = new int[16]; for (int i = 0; i < 16; i++) { if (i % 2 == 1) { cint[i] = Integer.parseInt(String.valueOf(c[i])) * 2; if (cint[i] > 9) cint[i] = 1 + cint[i] % 10; } else cint[i] = Integer.parseInt(String.valueOf(c[i])); } int sum = 0; for (int i = 0; i < 16; i++) { sum += cint[i]; } if (sum % 10 == 0) { return false; } else { return true; } } else{ return false; } } public static void lookup(String s) { System.out.println("Card Number " + s + " validation is " + checkDigits(s)); } public static void main(String[] args) { lookup("6314"); lookup("33344555588907"); lookup("49927398716"); lookup("8888888555888888"); } } // Sample output // Card Number 6314 validation is false // Card Number 33344555588907 validation is true // Card Number 49927398716 validation is true // Card Number 8888888555888888 validation is false
Recommended Posts