diff --git a/raindrops/.exercism/config.json b/raindrops/.exercism/config.json
new file mode 100644
index 0000000..a9bf66b
--- /dev/null
+++ b/raindrops/.exercism/config.json
@@ -0,0 +1,41 @@
+{
+ "authors": [],
+ "contributors": [
+ "FridaTveit",
+ "jmrunkle",
+ "jtigger",
+ "Kyle-Pu",
+ "kytrinyx",
+ "lemoncurry",
+ "matthewmorgan",
+ "msomji",
+ "muzimuzhi",
+ "sjwarner-bp",
+ "SleeplessByte",
+ "Smarticles101",
+ "sshine",
+ "stkent",
+ "TimoleonLatinopoulos",
+ "tshradheya",
+ "vasouv",
+ "vdemeester",
+ "Zaldrick"
+ ],
+ "files": {
+ "solution": [
+ "src/main/java/RaindropConverter.java"
+ ],
+ "test": [
+ "src/test/java/RaindropConverterTest.java"
+ ],
+ "example": [
+ ".meta/src/reference/java/RaindropConverter.java"
+ ],
+ "invalidator": [
+ "build.gradle"
+ ]
+ },
+ "blurb": "Convert a number to a string, the content of which depends on the number's factors.",
+ "source": "A variation on FizzBuzz, a famous technical interview question that is intended to weed out potential candidates. That question is itself derived from Fizz Buzz, a popular children's game for teaching division.",
+ "source_url": "https://en.wikipedia.org/wiki/Fizz_buzz"
+}
diff --git a/raindrops/.exercism/metadata.json b/raindrops/.exercism/metadata.json
new file mode 100644
index 0000000..4ec5196
--- /dev/null
+++ b/raindrops/.exercism/metadata.json
@@ -0,0 +1 @@
+{"track":"java","exercise":"raindrops","id":"d8432c836ffd4872a9061fc480a054dc","url":"https://exercism.org/tracks/java/exercises/raindrops","handle":"GicoProgram","is_requester":true,"auto_approve":false}
\ No newline at end of file
diff --git a/raindrops/.gradle/7.5.1/checksums/checksums.lock b/raindrops/.gradle/7.5.1/checksums/checksums.lock
new file mode 100644
index 0000000..3c9b4b9
Binary files /dev/null and b/raindrops/.gradle/7.5.1/checksums/checksums.lock differ
diff --git a/raindrops/.gradle/7.5.1/dependencies-accessors/dependencies-accessors.lock b/raindrops/.gradle/7.5.1/dependencies-accessors/dependencies-accessors.lock
new file mode 100644
index 0000000..147ca52
Binary files /dev/null and b/raindrops/.gradle/7.5.1/dependencies-accessors/dependencies-accessors.lock differ
diff --git a/raindrops/.gradle/7.5.1/dependencies-accessors/gc.properties b/raindrops/.gradle/7.5.1/dependencies-accessors/gc.properties
new file mode 100644
index 0000000..e69de29
diff --git a/raindrops/.gradle/7.5.1/executionHistory/executionHistory.bin b/raindrops/.gradle/7.5.1/executionHistory/executionHistory.bin
new file mode 100644
index 0000000..76fe497
Binary files /dev/null and b/raindrops/.gradle/7.5.1/executionHistory/executionHistory.bin differ
diff --git a/raindrops/.gradle/7.5.1/executionHistory/executionHistory.lock b/raindrops/.gradle/7.5.1/executionHistory/executionHistory.lock
new file mode 100644
index 0000000..9c122b6
Binary files /dev/null and b/raindrops/.gradle/7.5.1/executionHistory/executionHistory.lock differ
diff --git a/raindrops/.gradle/7.5.1/fileChanges/last-build.bin b/raindrops/.gradle/7.5.1/fileChanges/last-build.bin
new file mode 100644
index 0000000..f76dd23
Binary files /dev/null and b/raindrops/.gradle/7.5.1/fileChanges/last-build.bin differ
diff --git a/raindrops/.gradle/7.5.1/fileHashes/fileHashes.bin b/raindrops/.gradle/7.5.1/fileHashes/fileHashes.bin
new file mode 100644
index 0000000..ef28c90
Binary files /dev/null and b/raindrops/.gradle/7.5.1/fileHashes/fileHashes.bin differ
diff --git a/raindrops/.gradle/7.5.1/fileHashes/fileHashes.lock b/raindrops/.gradle/7.5.1/fileHashes/fileHashes.lock
new file mode 100644
index 0000000..a0994fb
Binary files /dev/null and b/raindrops/.gradle/7.5.1/fileHashes/fileHashes.lock differ
diff --git a/raindrops/.gradle/7.5.1/fileHashes/resourceHashesCache.bin b/raindrops/.gradle/7.5.1/fileHashes/resourceHashesCache.bin
new file mode 100644
index 0000000..41d253d
Binary files /dev/null and b/raindrops/.gradle/7.5.1/fileHashes/resourceHashesCache.bin differ
diff --git a/raindrops/.gradle/7.5.1/gc.properties b/raindrops/.gradle/7.5.1/gc.properties
new file mode 100644
index 0000000..e69de29
diff --git a/raindrops/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/raindrops/.gradle/buildOutputCleanup/buildOutputCleanup.lock
new file mode 100644
index 0000000..06588a9
Binary files /dev/null and b/raindrops/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ
diff --git a/raindrops/.gradle/buildOutputCleanup/cache.properties b/raindrops/.gradle/buildOutputCleanup/cache.properties
new file mode 100644
index 0000000..b4454ef
--- /dev/null
+++ b/raindrops/.gradle/buildOutputCleanup/cache.properties
@@ -0,0 +1,2 @@
+#Wed Mar 08 22:37:02 CET 2023
+gradle.version=7.5.1
diff --git a/raindrops/.gradle/buildOutputCleanup/outputFiles.bin b/raindrops/.gradle/buildOutputCleanup/outputFiles.bin
new file mode 100644
index 0000000..dd4954a
Binary files /dev/null and b/raindrops/.gradle/buildOutputCleanup/outputFiles.bin differ
diff --git a/raindrops/.gradle/file-system.probe b/raindrops/.gradle/file-system.probe
new file mode 100644
index 0000000..964d3db
Binary files /dev/null and b/raindrops/.gradle/file-system.probe differ
diff --git a/raindrops/.gradle/vcs-1/gc.properties b/raindrops/.gradle/vcs-1/gc.properties
new file mode 100644
index 0000000..e69de29
diff --git a/raindrops/.idea/.gitignore b/raindrops/.idea/.gitignore
new file mode 100644
index 0000000..26d3352
--- /dev/null
+++ b/raindrops/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/raindrops/.idea/compiler.xml b/raindrops/.idea/compiler.xml
new file mode 100644
index 0000000..fb7f4a8
--- /dev/null
+++ b/raindrops/.idea/compiler.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/raindrops/.idea/gradle.xml b/raindrops/.idea/gradle.xml
new file mode 100644
index 0000000..ba1ec5c
--- /dev/null
+++ b/raindrops/.idea/gradle.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/raindrops/.idea/jarRepositories.xml b/raindrops/.idea/jarRepositories.xml
new file mode 100644
index 0000000..fdc392f
--- /dev/null
+++ b/raindrops/.idea/jarRepositories.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/raindrops/.idea/misc.xml b/raindrops/.idea/misc.xml
new file mode 100644
index 0000000..25d34a4
--- /dev/null
+++ b/raindrops/.idea/misc.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/raindrops/.idea/vcs.xml b/raindrops/.idea/vcs.xml
new file mode 100644
index 0000000..6c0b863
--- /dev/null
+++ b/raindrops/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/raindrops/HELP.md b/raindrops/HELP.md
new file mode 100644
index 0000000..9a2c78f
--- /dev/null
+++ b/raindrops/HELP.md
@@ -0,0 +1,131 @@
+# Help
+
+## Running the tests
+
+Choose your operating system:
+
+* [Windows](#windows)
+* [macOS](#macos)
+* [Linux](#linux)
+
+----
+
+1. Open a Command Prompt.
+2. Get the first exercise:
+
+ ```batchfile
+ C:\Users\JohnDoe>exercism download --exercise hello-world --track java
+
+ Not Submitted: 1 problem
+ java (Hello World) C:\Users\JohnDoe\exercism\java\hello-world
+
+ New: 1 problem
+ java (Hello World) C:\Users\JohnDoe\exercism\java\hello-world
+
+ unchanged: 0, updated: 0, new: 1
+ ```
+
+3. Change directory into the exercism:
+
+ ```batchfile
+ C:\Users\JohnDoe>cd C:\Users\JohnDoe\exercism\java\hello-world
+ ```
+
+4. Run the tests:
+
+ ```batchfile
+ C:\Users\JohnDoe>gradle test
+ ```
+ *(Don't worry about the tests failing, at first, this is how you begin each exercise.)*
+
+5. Solve the exercise. Find and work through the `instructions.append.md` guide ([view on GitHub](https://github.com/exercism/java/blob/main/exercises/practice/hello-world/.docs/instructions.append.md#tutorial)).
+
+
+Good luck! Have fun!
+
+----
+
+1. In the terminal window, get the first exercise:
+
+ ```
+ $ exercism download --exercise hello-world --track java
+
+ New: 1 problem
+ Java (Etl) /Users/johndoe/exercism/java/hello-world
+
+ unchanged: 0, updated: 0, new: 1
+ ```
+
+2. Change directory into the exercise:
+
+ ```
+ $ cd /Users/johndoe/exercism/java/hello-world
+ ```
+
+3. Run the tests:
+
+ ```
+ $ gradle test
+ ```
+ *(Don't worry about the tests failing, at first, this is how you begin each exercise.)*
+
+4. Solve the exercise. Find and work through the `instructions.append.md` guide ([view on GitHub](https://github.com/exercism/java/blob/main/exercises/practice/hello-world/.docs/instructions.append.md#tutorial)).
+
+Good luck! Have fun!
+
+----
+
+1. In the terminal window, get the first exercise:
+
+ ```
+ $ exercism download --exercise hello-world --track java
+
+ New: 1 problem
+ Java (Etl) /home/johndoe/exercism/java/hello-world
+
+ unchanged: 0, updated: 0, new: 1
+
+ ```
+
+2. Change directory into the exercise:
+
+ ```
+ $ cd /home/johndoe/exercism/java/hello-world
+ ```
+
+3. Run the tests:
+
+ ```
+ $ gradle test
+ ```
+ *(Don't worry about the tests failing, at first, this is how you begin each exercise.)*
+
+4. Solve the exercise. Find and work through the `instructions.append.md` guide ([view on GitHub](https://github.com/exercism/java/blob/main/exercises/practice/hello-world/.docs/instructions.append.md#tutorial)).
+
+Good luck! Have fun!
+
+## Submitting your solution
+
+You can submit your solution using the `exercism submit src/main/java/RaindropConverter.java` command.
+This command will upload your solution to the Exercism website and print the solution page's URL.
+
+It's possible to submit an incomplete solution which allows you to:
+
+- See how others have completed the exercise
+- Request help from a mentor
+
+## Need to get help?
+
+If you'd like help solving the exercise, check the following pages:
+
+- The [Java track's documentation](https://exercism.org/docs/tracks/java)
+- [Exercism's programming category on the forum](https://forum.exercism.org/c/programming/5)
+- The [Frequently Asked Questions](https://exercism.org/docs/using/faqs)
+
+Should those resources not suffice, you could submit your (incomplete) solution to request mentoring.
+
+If you need some help you can visit these resources:
+
+* [Stack Overflow](https://stackoverflow.com/questions/tagged/java),
+* [The Java subreddit](https://www.reddit.com/r/java),
+* [Official Java documentation](https://docs.oracle.com/en/java/javase/11/docs/api/index.html).
\ No newline at end of file
diff --git a/raindrops/README.md b/raindrops/README.md
new file mode 100644
index 0000000..29cb984
--- /dev/null
+++ b/raindrops/README.md
@@ -0,0 +1,49 @@
+# Raindrops
+
+Welcome to Raindrops on Exercism's Java Track.
+If you need help running the tests or submitting your code, check out `HELP.md`.
+
+## Instructions
+
+Your task is to convert a number into a string that contains raindrop sounds corresponding to certain potential factors. A factor is a number that evenly divides into another number, leaving no remainder. The simplest way to test if a one number is a factor of another is to use the [modulo operation](https://en.wikipedia.org/wiki/Modulo_operation).
+
+The rules of `raindrops` are that if a given number:
+
+- has 3 as a factor, add 'Pling' to the result.
+- has 5 as a factor, add 'Plang' to the result.
+- has 7 as a factor, add 'Plong' to the result.
+- _does not_ have any of 3, 5, or 7 as a factor, the result should be the digits of the number.
+
+## Examples
+
+- 28 has 7 as a factor, but not 3 or 5, so the result would be "Plong".
+- 30 has both 3 and 5 as factors, but not 7, so the result would be "PlingPlang".
+- 34 is not factored by 3, 5, or 7, so the result would be "34".
+
+## Source
+
+### Contributed to by
+
+- @FridaTveit
+- @jmrunkle
+- @jtigger
+- @Kyle-Pu
+- @kytrinyx
+- @lemoncurry
+- @matthewmorgan
+- @msomji
+- @muzimuzhi
+- @sjwarner-bp
+- @SleeplessByte
+- @Smarticles101
+- @sshine
+- @stkent
+- @TimoleonLatinopoulos
+- @tshradheya
+- @vasouv
+- @vdemeester
+- @Zaldrick
+
+### Based on
+
+A variation on FizzBuzz, a famous technical interview question that is intended to weed out potential candidates. That question is itself derived from Fizz Buzz, a popular children's game for teaching division. - https://en.wikipedia.org/wiki/Fizz_buzz
\ No newline at end of file
diff --git a/raindrops/build.gradle b/raindrops/build.gradle
new file mode 100644
index 0000000..8bd005d
--- /dev/null
+++ b/raindrops/build.gradle
@@ -0,0 +1,24 @@
+apply plugin: "java"
+apply plugin: "eclipse"
+apply plugin: "idea"
+
+// set default encoding to UTF-8
+compileJava.options.encoding = "UTF-8"
+compileTestJava.options.encoding = "UTF-8"
+
+repositories {
+ mavenCentral()
+}
+
+dependencies {
+ testImplementation "junit:junit:4.13"
+ testImplementation "org.assertj:assertj-core:3.15.0"
+}
+
+test {
+ testLogging {
+ exceptionFormat = 'full'
+ showStandardStreams = true
+ events = ["passed", "failed", "skipped"]
+ }
+}
diff --git a/raindrops/build/reports/tests/test/classes/RaindropConverterTest.html b/raindrops/build/reports/tests/test/classes/RaindropConverterTest.html
new file mode 100644
index 0000000..eb1f8d2
--- /dev/null
+++ b/raindrops/build/reports/tests/test/classes/RaindropConverterTest.html
@@ -0,0 +1,181 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/reverse-string/.idea/jarRepositories.xml b/reverse-string/.idea/jarRepositories.xml
new file mode 100644
index 0000000..fdc392f
--- /dev/null
+++ b/reverse-string/.idea/jarRepositories.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/reverse-string/.idea/misc.xml b/reverse-string/.idea/misc.xml
new file mode 100644
index 0000000..25d34a4
--- /dev/null
+++ b/reverse-string/.idea/misc.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/reverse-string/.idea/vcs.xml b/reverse-string/.idea/vcs.xml
new file mode 100644
index 0000000..6c0b863
--- /dev/null
+++ b/reverse-string/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/reverse-string/HELP.md b/reverse-string/HELP.md
new file mode 100644
index 0000000..31e6b10
--- /dev/null
+++ b/reverse-string/HELP.md
@@ -0,0 +1,131 @@
+# Help
+
+## Running the tests
+
+Choose your operating system:
+
+* [Windows](#windows)
+* [macOS](#macos)
+* [Linux](#linux)
+
+----
+
+1. Open a Command Prompt.
+2. Get the first exercise:
+
+ ```batchfile
+ C:\Users\JohnDoe>exercism download --exercise hello-world --track java
+
+ Not Submitted: 1 problem
+ java (Hello World) C:\Users\JohnDoe\exercism\java\hello-world
+
+ New: 1 problem
+ java (Hello World) C:\Users\JohnDoe\exercism\java\hello-world
+
+ unchanged: 0, updated: 0, new: 1
+ ```
+
+3. Change directory into the exercism:
+
+ ```batchfile
+ C:\Users\JohnDoe>cd C:\Users\JohnDoe\exercism\java\hello-world
+ ```
+
+4. Run the tests:
+
+ ```batchfile
+ C:\Users\JohnDoe>gradle test
+ ```
+ *(Don't worry about the tests failing, at first, this is how you begin each exercise.)*
+
+5. Solve the exercise. Find and work through the `instructions.append.md` guide ([view on GitHub](https://github.com/exercism/java/blob/main/exercises/practice/hello-world/.docs/instructions.append.md#tutorial)).
+
+
+Good luck! Have fun!
+
+----
+
+1. In the terminal window, get the first exercise:
+
+ ```
+ $ exercism download --exercise hello-world --track java
+
+ New: 1 problem
+ Java (Etl) /Users/johndoe/exercism/java/hello-world
+
+ unchanged: 0, updated: 0, new: 1
+ ```
+
+2. Change directory into the exercise:
+
+ ```
+ $ cd /Users/johndoe/exercism/java/hello-world
+ ```
+
+3. Run the tests:
+
+ ```
+ $ gradle test
+ ```
+ *(Don't worry about the tests failing, at first, this is how you begin each exercise.)*
+
+4. Solve the exercise. Find and work through the `instructions.append.md` guide ([view on GitHub](https://github.com/exercism/java/blob/main/exercises/practice/hello-world/.docs/instructions.append.md#tutorial)).
+
+Good luck! Have fun!
+
+----
+
+1. In the terminal window, get the first exercise:
+
+ ```
+ $ exercism download --exercise hello-world --track java
+
+ New: 1 problem
+ Java (Etl) /home/johndoe/exercism/java/hello-world
+
+ unchanged: 0, updated: 0, new: 1
+
+ ```
+
+2. Change directory into the exercise:
+
+ ```
+ $ cd /home/johndoe/exercism/java/hello-world
+ ```
+
+3. Run the tests:
+
+ ```
+ $ gradle test
+ ```
+ *(Don't worry about the tests failing, at first, this is how you begin each exercise.)*
+
+4. Solve the exercise. Find and work through the `instructions.append.md` guide ([view on GitHub](https://github.com/exercism/java/blob/main/exercises/practice/hello-world/.docs/instructions.append.md#tutorial)).
+
+Good luck! Have fun!
+
+## Submitting your solution
+
+You can submit your solution using the `exercism submit src/main/java/ReverseString.java` command.
+This command will upload your solution to the Exercism website and print the solution page's URL.
+
+It's possible to submit an incomplete solution which allows you to:
+
+- See how others have completed the exercise
+- Request help from a mentor
+
+## Need to get help?
+
+If you'd like help solving the exercise, check the following pages:
+
+- The [Java track's documentation](https://exercism.org/docs/tracks/java)
+- [Exercism's programming category on the forum](https://forum.exercism.org/c/programming/5)
+- The [Frequently Asked Questions](https://exercism.org/docs/using/faqs)
+
+Should those resources not suffice, you could submit your (incomplete) solution to request mentoring.
+
+If you need some help you can visit these resources:
+
+* [Stack Overflow](https://stackoverflow.com/questions/tagged/java),
+* [The Java subreddit](https://www.reddit.com/r/java),
+* [Official Java documentation](https://docs.oracle.com/en/java/javase/11/docs/api/index.html).
\ No newline at end of file
diff --git a/reverse-string/README.md b/reverse-string/README.md
new file mode 100644
index 0000000..e795d02
--- /dev/null
+++ b/reverse-string/README.md
@@ -0,0 +1,42 @@
+# Reverse String
+
+Welcome to Reverse String on Exercism's Java Track.
+If you need help running the tests or submitting your code, check out `HELP.md`.
+
+## Instructions
+
+Reverse a string
+
+For example:
+input: "cool"
+output: "looc"
+
+For more help on how to solve this exercise, please refer to the tutorial provided as part of the [hello world](https://exercism.org/tracks/java/exercises/hello-world) exercise.
+
+## Source
+
+### Created by
+
+- @bmkiefer
+
+### Contributed to by
+
+- @barisozcanli
+- @FridaTveit
+- @ikhadykin
+- @jmrunkle
+- @Kyle-Pu
+- @lemoncurry
+- @mirkoperillo
+- @msomji
+- @muzimuzhi
+- @ppiliar
+- @sjwarner
+- @sjwarner-bp
+- @SleeplessByte
+- @Smarticles101
+- @sshine
+
+### Based on
+
+Introductory challenge to reverse an input string - https://medium.freecodecamp.org/how-to-reverse-a-string-in-javascript-in-3-different-ways-75e4763c68cb
\ No newline at end of file
diff --git a/reverse-string/build.gradle b/reverse-string/build.gradle
new file mode 100644
index 0000000..8bd005d
--- /dev/null
+++ b/reverse-string/build.gradle
@@ -0,0 +1,24 @@
+apply plugin: "java"
+apply plugin: "eclipse"
+apply plugin: "idea"
+
+// set default encoding to UTF-8
+compileJava.options.encoding = "UTF-8"
+compileTestJava.options.encoding = "UTF-8"
+
+repositories {
+ mavenCentral()
+}
+
+dependencies {
+ testImplementation "junit:junit:4.13"
+ testImplementation "org.assertj:assertj-core:3.15.0"
+}
+
+test {
+ testLogging {
+ exceptionFormat = 'full'
+ showStandardStreams = true
+ events = ["passed", "failed", "skipped"]
+ }
+}
diff --git a/reverse-string/build/reports/tests/test/classes/ReverseStringTest.html b/reverse-string/build/reports/tests/test/classes/ReverseStringTest.html
new file mode 100644
index 0000000..c34b942
--- /dev/null
+++ b/reverse-string/build/reports/tests/test/classes/ReverseStringTest.html
@@ -0,0 +1,121 @@
+
+
+
+
+
+Test results - Class ReverseStringTest
+
+
+
+
+
+
diff --git a/scrabble-score/.idea/misc.xml b/scrabble-score/.idea/misc.xml
index 1412ac5..d677872 100644
--- a/scrabble-score/.idea/misc.xml
+++ b/scrabble-score/.idea/misc.xml
@@ -1,5 +1,5 @@
-
+
\ No newline at end of file
diff --git a/scrabble-score/.idea/vcs.xml b/scrabble-score/.idea/vcs.xml
new file mode 100644
index 0000000..6c0b863
--- /dev/null
+++ b/scrabble-score/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/secret-handshake/.exercism/config.json b/secret-handshake/.exercism/config.json
new file mode 100644
index 0000000..e797a1b
--- /dev/null
+++ b/secret-handshake/.exercism/config.json
@@ -0,0 +1,42 @@
+{
+ "authors": [
+ "stkent"
+ ],
+ "contributors": [
+ "c-thornton",
+ "FridaTveit",
+ "jmrunkle",
+ "kytrinyx",
+ "lemoncurry",
+ "morrme",
+ "msomji",
+ "muzimuzhi",
+ "sjwarner-bp",
+ "SleeplessByte",
+ "Smarticles101",
+ "sshine",
+ "vasouv",
+ "vivshaw",
+ "Zaldrick"
+ ],
+ "files": {
+ "solution": [
+ "src/main/java/HandshakeCalculator.java"
+ ],
+ "test": [
+ "src/test/java/HandshakeCalculatorTest.java"
+ ],
+ "example": [
+ ".meta/src/reference/java/HandshakeCalculator.java"
+ ],
+ "editor": [
+ "src/main/java/Signal.java"
+ ],
+ "invalidator": [
+ "build.gradle"
+ ]
+ },
+ "blurb": "Given a decimal number, convert it to the appropriate sequence of events for a secret handshake.",
+ "source": "Bert, in Mary Poppins",
+ "source_url": "http://www.imdb.com/title/tt0058331/quotes/qt0437047"
+}
diff --git a/secret-handshake/.exercism/metadata.json b/secret-handshake/.exercism/metadata.json
new file mode 100644
index 0000000..1dc9f2a
--- /dev/null
+++ b/secret-handshake/.exercism/metadata.json
@@ -0,0 +1 @@
+{"track":"java","exercise":"secret-handshake","id":"0496648b809b4fe79e734bf7455ca054","url":"https://exercism.org/tracks/java/exercises/secret-handshake","handle":"GicoProgram","is_requester":true,"auto_approve":false}
\ No newline at end of file
diff --git a/secret-handshake/.gradle/7.5.1/checksums/checksums.lock b/secret-handshake/.gradle/7.5.1/checksums/checksums.lock
new file mode 100644
index 0000000..2f2f941
Binary files /dev/null and b/secret-handshake/.gradle/7.5.1/checksums/checksums.lock differ
diff --git a/secret-handshake/.gradle/7.5.1/dependencies-accessors/dependencies-accessors.lock b/secret-handshake/.gradle/7.5.1/dependencies-accessors/dependencies-accessors.lock
new file mode 100644
index 0000000..50df28d
Binary files /dev/null and b/secret-handshake/.gradle/7.5.1/dependencies-accessors/dependencies-accessors.lock differ
diff --git a/secret-handshake/.gradle/7.5.1/dependencies-accessors/gc.properties b/secret-handshake/.gradle/7.5.1/dependencies-accessors/gc.properties
new file mode 100644
index 0000000..e69de29
diff --git a/secret-handshake/.gradle/7.5.1/executionHistory/executionHistory.bin b/secret-handshake/.gradle/7.5.1/executionHistory/executionHistory.bin
new file mode 100644
index 0000000..757c2bd
Binary files /dev/null and b/secret-handshake/.gradle/7.5.1/executionHistory/executionHistory.bin differ
diff --git a/secret-handshake/.gradle/7.5.1/executionHistory/executionHistory.lock b/secret-handshake/.gradle/7.5.1/executionHistory/executionHistory.lock
new file mode 100644
index 0000000..e32c22c
Binary files /dev/null and b/secret-handshake/.gradle/7.5.1/executionHistory/executionHistory.lock differ
diff --git a/secret-handshake/.gradle/7.5.1/fileChanges/last-build.bin b/secret-handshake/.gradle/7.5.1/fileChanges/last-build.bin
new file mode 100644
index 0000000..f76dd23
Binary files /dev/null and b/secret-handshake/.gradle/7.5.1/fileChanges/last-build.bin differ
diff --git a/secret-handshake/.gradle/7.5.1/fileHashes/fileHashes.bin b/secret-handshake/.gradle/7.5.1/fileHashes/fileHashes.bin
new file mode 100644
index 0000000..03de7fa
Binary files /dev/null and b/secret-handshake/.gradle/7.5.1/fileHashes/fileHashes.bin differ
diff --git a/secret-handshake/.gradle/7.5.1/fileHashes/fileHashes.lock b/secret-handshake/.gradle/7.5.1/fileHashes/fileHashes.lock
new file mode 100644
index 0000000..6f35ed8
Binary files /dev/null and b/secret-handshake/.gradle/7.5.1/fileHashes/fileHashes.lock differ
diff --git a/secret-handshake/.gradle/7.5.1/fileHashes/resourceHashesCache.bin b/secret-handshake/.gradle/7.5.1/fileHashes/resourceHashesCache.bin
new file mode 100644
index 0000000..93325b7
Binary files /dev/null and b/secret-handshake/.gradle/7.5.1/fileHashes/resourceHashesCache.bin differ
diff --git a/secret-handshake/.gradle/7.5.1/gc.properties b/secret-handshake/.gradle/7.5.1/gc.properties
new file mode 100644
index 0000000..e69de29
diff --git a/secret-handshake/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/secret-handshake/.gradle/buildOutputCleanup/buildOutputCleanup.lock
new file mode 100644
index 0000000..a342f55
Binary files /dev/null and b/secret-handshake/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ
diff --git a/secret-handshake/.gradle/buildOutputCleanup/cache.properties b/secret-handshake/.gradle/buildOutputCleanup/cache.properties
new file mode 100644
index 0000000..4d5334e
--- /dev/null
+++ b/secret-handshake/.gradle/buildOutputCleanup/cache.properties
@@ -0,0 +1,2 @@
+#Wed Mar 08 21:35:11 CET 2023
+gradle.version=7.5.1
diff --git a/secret-handshake/.gradle/buildOutputCleanup/outputFiles.bin b/secret-handshake/.gradle/buildOutputCleanup/outputFiles.bin
new file mode 100644
index 0000000..cacec74
Binary files /dev/null and b/secret-handshake/.gradle/buildOutputCleanup/outputFiles.bin differ
diff --git a/secret-handshake/.gradle/file-system.probe b/secret-handshake/.gradle/file-system.probe
new file mode 100644
index 0000000..53e6ded
Binary files /dev/null and b/secret-handshake/.gradle/file-system.probe differ
diff --git a/secret-handshake/.gradle/vcs-1/gc.properties b/secret-handshake/.gradle/vcs-1/gc.properties
new file mode 100644
index 0000000..e69de29
diff --git a/secret-handshake/.idea/.gitignore b/secret-handshake/.idea/.gitignore
new file mode 100644
index 0000000..26d3352
--- /dev/null
+++ b/secret-handshake/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/secret-handshake/.idea/compiler.xml b/secret-handshake/.idea/compiler.xml
new file mode 100644
index 0000000..fb7f4a8
--- /dev/null
+++ b/secret-handshake/.idea/compiler.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/secret-handshake/.idea/gradle.xml b/secret-handshake/.idea/gradle.xml
new file mode 100644
index 0000000..611e7c8
--- /dev/null
+++ b/secret-handshake/.idea/gradle.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/secret-handshake/.idea/jarRepositories.xml b/secret-handshake/.idea/jarRepositories.xml
new file mode 100644
index 0000000..fdc392f
--- /dev/null
+++ b/secret-handshake/.idea/jarRepositories.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/secret-handshake/.idea/misc.xml b/secret-handshake/.idea/misc.xml
new file mode 100644
index 0000000..25d34a4
--- /dev/null
+++ b/secret-handshake/.idea/misc.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/secret-handshake/.idea/vcs.xml b/secret-handshake/.idea/vcs.xml
new file mode 100644
index 0000000..6c0b863
--- /dev/null
+++ b/secret-handshake/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/secret-handshake/HELP.md b/secret-handshake/HELP.md
new file mode 100644
index 0000000..46005fd
--- /dev/null
+++ b/secret-handshake/HELP.md
@@ -0,0 +1,131 @@
+# Help
+
+## Running the tests
+
+Choose your operating system:
+
+* [Windows](#windows)
+* [macOS](#macos)
+* [Linux](#linux)
+
+----
+
+1. Open a Command Prompt.
+2. Get the first exercise:
+
+ ```batchfile
+ C:\Users\JohnDoe>exercism download --exercise hello-world --track java
+
+ Not Submitted: 1 problem
+ java (Hello World) C:\Users\JohnDoe\exercism\java\hello-world
+
+ New: 1 problem
+ java (Hello World) C:\Users\JohnDoe\exercism\java\hello-world
+
+ unchanged: 0, updated: 0, new: 1
+ ```
+
+3. Change directory into the exercism:
+
+ ```batchfile
+ C:\Users\JohnDoe>cd C:\Users\JohnDoe\exercism\java\hello-world
+ ```
+
+4. Run the tests:
+
+ ```batchfile
+ C:\Users\JohnDoe>gradle test
+ ```
+ *(Don't worry about the tests failing, at first, this is how you begin each exercise.)*
+
+5. Solve the exercise. Find and work through the `instructions.append.md` guide ([view on GitHub](https://github.com/exercism/java/blob/main/exercises/practice/hello-world/.docs/instructions.append.md#tutorial)).
+
+
+Good luck! Have fun!
+
+----
+
+1. In the terminal window, get the first exercise:
+
+ ```
+ $ exercism download --exercise hello-world --track java
+
+ New: 1 problem
+ Java (Etl) /Users/johndoe/exercism/java/hello-world
+
+ unchanged: 0, updated: 0, new: 1
+ ```
+
+2. Change directory into the exercise:
+
+ ```
+ $ cd /Users/johndoe/exercism/java/hello-world
+ ```
+
+3. Run the tests:
+
+ ```
+ $ gradle test
+ ```
+ *(Don't worry about the tests failing, at first, this is how you begin each exercise.)*
+
+4. Solve the exercise. Find and work through the `instructions.append.md` guide ([view on GitHub](https://github.com/exercism/java/blob/main/exercises/practice/hello-world/.docs/instructions.append.md#tutorial)).
+
+Good luck! Have fun!
+
+----
+
+1. In the terminal window, get the first exercise:
+
+ ```
+ $ exercism download --exercise hello-world --track java
+
+ New: 1 problem
+ Java (Etl) /home/johndoe/exercism/java/hello-world
+
+ unchanged: 0, updated: 0, new: 1
+
+ ```
+
+2. Change directory into the exercise:
+
+ ```
+ $ cd /home/johndoe/exercism/java/hello-world
+ ```
+
+3. Run the tests:
+
+ ```
+ $ gradle test
+ ```
+ *(Don't worry about the tests failing, at first, this is how you begin each exercise.)*
+
+4. Solve the exercise. Find and work through the `instructions.append.md` guide ([view on GitHub](https://github.com/exercism/java/blob/main/exercises/practice/hello-world/.docs/instructions.append.md#tutorial)).
+
+Good luck! Have fun!
+
+## Submitting your solution
+
+You can submit your solution using the `exercism submit src/main/java/HandshakeCalculator.java` command.
+This command will upload your solution to the Exercism website and print the solution page's URL.
+
+It's possible to submit an incomplete solution which allows you to:
+
+- See how others have completed the exercise
+- Request help from a mentor
+
+## Need to get help?
+
+If you'd like help solving the exercise, check the following pages:
+
+- The [Java track's documentation](https://exercism.org/docs/tracks/java)
+- [Exercism's programming category on the forum](https://forum.exercism.org/c/programming/5)
+- The [Frequently Asked Questions](https://exercism.org/docs/using/faqs)
+
+Should those resources not suffice, you could submit your (incomplete) solution to request mentoring.
+
+If you need some help you can visit these resources:
+
+* [Stack Overflow](https://stackoverflow.com/questions/tagged/java),
+* [The Java subreddit](https://www.reddit.com/r/java),
+* [Official Java documentation](https://docs.oracle.com/en/java/javase/11/docs/api/index.html).
\ No newline at end of file
diff --git a/secret-handshake/README.md b/secret-handshake/README.md
new file mode 100644
index 0000000..f47bea0
--- /dev/null
+++ b/secret-handshake/README.md
@@ -0,0 +1,88 @@
+# Secret Handshake
+
+Welcome to Secret Handshake on Exercism's Java Track.
+If you need help running the tests or submitting your code, check out `HELP.md`.
+
+## Introduction
+
+You are starting a secret coding club with some friends and friends-of-friends.
+Not everyone knows each other, so you and your friends have decided to create a secret handshake that you can use to recognize that someone is a member.
+You don't want anyone who isn't in the know to be able to crack the code.
+
+You've designed the code so that one person says a number between 1 and 31, and the other person turns it into a series of actions.
+
+## Instructions
+
+Your task is to convert a number between 1 and 31 to a sequence of actions in the secret handshake.
+
+The sequence of actions is chosen by looking at the rightmost five digits of the number once it's been converted to binary.
+Start at the right-most digit and move left.
+
+The actions for each number place are:
+
+```plaintext
+00001 = wink
+00010 = double blink
+00100 = close your eyes
+01000 = jump
+10000 = Reverse the order of the operations in the secret handshake.
+```
+
+Let's use the number `9` as an example:
+
+- 9 in binary is `1001`.
+- The digit that is farthest to the right is 1, so the first action is `wink`.
+- Going left, the next digit is 0, so there is no double-blink.
+- Going left again, the next digit is 0, so you leave your eyes open.
+- Going left again, the next digit is 1, so you jump.
+
+That was the last digit, so the final code is:
+
+```plaintext
+wink, jump
+```
+
+Given the number 26, which is `11010` in binary, we get the following actions:
+
+- double blink
+- jump
+- reverse actions
+
+The secret handshake for 26 is therefore:
+
+```plaintext
+jump, double blink
+```
+
+~~~~exercism/note
+If you aren't sure what binary is or how it works, check out [this binary tutorial][intro-to-binary].
+[intro-to-binary]: https://medium.com/basecs/bits-bytes-building-with-binary-13cb4289aafa
+~~~~
+
+## Source
+
+### Created by
+
+- @stkent
+
+### Contributed to by
+
+- @c-thornton
+- @FridaTveit
+- @jmrunkle
+- @kytrinyx
+- @lemoncurry
+- @morrme
+- @msomji
+- @muzimuzhi
+- @sjwarner-bp
+- @SleeplessByte
+- @Smarticles101
+- @sshine
+- @vasouv
+- @vivshaw
+- @Zaldrick
+
+### Based on
+
+Bert, in Mary Poppins - http://www.imdb.com/title/tt0058331/quotes/qt0437047
\ No newline at end of file
diff --git a/secret-handshake/build.gradle b/secret-handshake/build.gradle
new file mode 100644
index 0000000..8bd005d
--- /dev/null
+++ b/secret-handshake/build.gradle
@@ -0,0 +1,24 @@
+apply plugin: "java"
+apply plugin: "eclipse"
+apply plugin: "idea"
+
+// set default encoding to UTF-8
+compileJava.options.encoding = "UTF-8"
+compileTestJava.options.encoding = "UTF-8"
+
+repositories {
+ mavenCentral()
+}
+
+dependencies {
+ testImplementation "junit:junit:4.13"
+ testImplementation "org.assertj:assertj-core:3.15.0"
+}
+
+test {
+ testLogging {
+ exceptionFormat = 'full'
+ showStandardStreams = true
+ events = ["passed", "failed", "skipped"]
+ }
+}
diff --git a/secret-handshake/build/reports/tests/test/classes/HandshakeCalculatorTest.html b/secret-handshake/build/reports/tests/test/classes/HandshakeCalculatorTest.html
new file mode 100644
index 0000000..924ac3c
--- /dev/null
+++ b/secret-handshake/build/reports/tests/test/classes/HandshakeCalculatorTest.html
@@ -0,0 +1,161 @@
+
+
+
+
+
+Test results - Class HandshakeCalculatorTest
+
+
+
+
+
+