Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aaron-contreras/luhn-kata
Exercism.io java kata
https://github.com/aaron-contreras/luhn-kata
Last synced: 26 days ago
JSON representation
Exercism.io java kata
- Host: GitHub
- URL: https://github.com/aaron-contreras/luhn-kata
- Owner: aaron-contreras
- Created: 2020-03-26T15:07:51.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2020-03-26T15:36:21.000Z (almost 5 years ago)
- Last Synced: 2024-11-12T03:44:22.072Z (about 2 months ago)
- Language: Java
- Size: 3.91 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Luhn
Given a number determine whether or not it is valid per the Luhn formula.
The [Luhn algorithm](https://en.wikipedia.org/wiki/Luhn_algorithm) is
a simple checksum formula used to validate a variety of identification
numbers, such as credit card numbers and Canadian Social Insurance
Numbers.The task is to check if a given string is valid.
Validating a Number
------Strings of length 1 or less are not valid. Spaces are allowed in the input,
but they should be stripped before checking. All other non-digit characters
are disallowed.## Example 1: valid credit card number
```text
4539 1488 0343 6467
```The first step of the Luhn algorithm is to double every second digit,
starting from the right. We will be doubling```text
4_3_ 1_8_ 0_4_ 6_6_
```If doubling the number results in a number greater than 9 then subtract 9
from the product. The results of our doubling:```text
8569 2478 0383 3437
```Then sum all of the digits:
```text
8+5+6+9+2+4+7+8+0+3+8+3+3+4+3+7 = 80
```If the sum is evenly divisible by 10, then the number is valid. This number is valid!
## Example 2: invalid credit card number
```text
8273 1232 7352 0569
```Double the second digits, starting from the right
```text
7253 2262 5312 0539
```Sum the digits
```text
7+2+5+3+2+2+6+2+5+3+1+2+0+5+3+9 = 57
```57 is not evenly divisible by 10, so this number is not valid.
## Setup
Go through the setup instructions for Java to install the necessary
dependencies:[https://exercism.io/tracks/java/installation](https://exercism.io/tracks/java/installation)
# Running the tests
You can run all the tests for an exercise by entering the following in your
terminal:```sh
$ gradle test
```> Use `gradlew.bat` if you're on Windows
In the test suites all tests but the first have been skipped.
Once you get a test passing, you can enable the next one by removing the
`@Ignore("Remove to run test")` annotation.## Source
The Luhn Algorithm on Wikipedia [http://en.wikipedia.org/wiki/Luhn_algorithm](http://en.wikipedia.org/wiki/Luhn_algorithm)
## Submitting Incomplete Solutions
It's possible to submit an incomplete solution so you can see how others have
completed the exercise.