├── .appends └── .github │ └── labels.yml ├── .gitattributes ├── .github ├── CODEOWNERS ├── PULL_REQUEST_TEMPLATE.md ├── dependabot.yml ├── labels.yml ├── org-wide-files-config.toml └── workflows │ ├── configlet.yml │ ├── java.yml │ ├── markdown.yml │ ├── no-important-files-changed.yml │ ├── ping-cross-track-maintainers-team.yml │ ├── run-configlet-sync.yml │ └── sync-labels.yml ├── .gitignore ├── .markdownlint-cli2.jsonc ├── .markdownlint.jsonc ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── POLICIES.md ├── README.md ├── bin ├── fetch-configlet └── test-with-test-runner ├── concepts ├── arrays │ ├── .meta │ │ └── config.json │ ├── about.md │ ├── introduction.md │ └── links.json ├── basics │ ├── .meta │ │ └── config.json │ ├── about.md │ ├── introduction.md │ └── links.json ├── bit-manipulation │ ├── .meta │ │ └── config.json │ ├── about.md │ ├── introduction.md │ └── links.json ├── booleans │ ├── .meta │ │ └── config.json │ ├── about.md │ ├── introduction.md │ └── links.json ├── chars │ ├── .meta │ │ └── config.json │ ├── about.md │ ├── introduction.md │ └── links.json ├── classes │ ├── .meta │ │ └── config.json │ ├── about.md │ ├── introduction.md │ └── links.json ├── constructors │ ├── .meta │ │ └── config.json │ ├── about.md │ ├── introduction.md │ └── links.json ├── datetime │ ├── .meta │ │ └── config.json │ ├── about.md │ ├── introduction.md │ └── links.json ├── enums │ ├── .meta │ │ └── config.json │ ├── about.md │ ├── introduction.md │ └── links.json ├── exceptions │ ├── .meta │ │ └── config.json │ ├── about.md │ ├── introduction.md │ └── links.json ├── for-loops │ ├── .meta │ │ └── config.json │ ├── about.md │ ├── introduction.md │ └── links.json ├── foreach-loops │ ├── .meta │ │ └── config.json │ ├── about.md │ ├── introduction.md │ └── links.json ├── generic-types │ ├── .meta │ │ └── config.json │ ├── about.md │ ├── introduction.md │ └── links.json ├── if-else-statements │ ├── .meta │ │ └── config.json │ ├── about.md │ ├── introduction.md │ └── links.json ├── inheritance │ ├── .meta │ │ └── config.json │ ├── about.md │ ├── introduction.md │ └── links.json ├── interfaces │ ├── .meta │ │ └── config.json │ ├── about.md │ ├── introduction.md │ └── links.json ├── lists │ ├── .meta │ │ └── config.json │ ├── about.md │ ├── introduction.md │ └── links.json ├── maps │ ├── .meta │ │ └── config.json │ ├── about.md │ ├── introduction.md │ └── links.json ├── method-overloading │ ├── .meta │ │ └── config.json │ ├── about.md │ ├── introduction.md │ └── links.json ├── nullability │ ├── .meta │ │ └── config.json │ ├── about.md │ ├── introduction.md │ └── links.json ├── numbers │ ├── .meta │ │ └── config.json │ ├── about.md │ ├── introduction.md │ └── links.json ├── randomness │ ├── .meta │ │ └── config.json │ ├── about.md │ ├── introduction.md │ └── links.json ├── sets │ ├── .meta │ │ └── config.json │ ├── about.md │ ├── introduction.md │ └── links.json ├── strings │ ├── .meta │ │ └── config.json │ ├── about.md │ ├── introduction.md │ └── links.json ├── switch-statement │ ├── .meta │ │ └── config.json │ ├── about.md │ ├── introduction.md │ └── links.json └── ternary-operators │ ├── .meta │ └── config.json │ ├── about.md │ ├── introduction.md │ └── links.json ├── config.json ├── docs ├── ABOUT.md ├── INSTALLATION.md ├── LEARNING.md ├── MAINTAINING.md ├── RESOURCES.md ├── SNIPPET.txt ├── TESTS.md └── config.json ├── exercises ├── build.gradle ├── checkstyle.xml ├── concept │ ├── annalyns-infiltration │ │ ├── .docs │ │ │ ├── hints.md │ │ │ ├── instructions.md │ │ │ ├── introduction.md │ │ │ └── introduction.md.tpl │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── design.md │ │ │ └── src │ │ │ │ └── reference │ │ │ │ └── java │ │ │ │ └── AnnalynsInfiltration.java │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── AnnalynsInfiltration.java │ │ │ └── test │ │ │ └── java │ │ │ └── AnnalynsInfiltrationTest.java │ ├── bird-watcher │ │ ├── .docs │ │ │ ├── hints.md │ │ │ ├── instructions.md │ │ │ ├── introduction.md │ │ │ └── introduction.md.tpl │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── design.md │ │ │ └── src │ │ │ │ └── reference │ │ │ │ └── java │ │ │ │ └── BirdWatcher.java │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── BirdWatcher.java │ │ │ └── test │ │ │ └── java │ │ │ └── BirdWatcherTest.java │ ├── blackjack │ │ ├── .docs │ │ │ ├── hints.md │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── design.md │ │ │ └── src │ │ │ │ └── reference │ │ │ │ └── java │ │ │ │ └── Blackjack.java │ │ ├── build.gradle │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── Blackjack.java │ │ │ └── test │ │ │ └── java │ │ │ └── BlackjackTest.java │ ├── booking-up-for-beauty │ │ ├── .docs │ │ │ ├── hints.md │ │ │ ├── instructions.md │ │ │ ├── introduction.md │ │ │ └── introduction.md.tpl │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── design.md │ │ │ └── src │ │ │ │ └── reference │ │ │ │ └── java │ │ │ │ └── AppointmentScheduler.java │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── AppointmentScheduler.java │ │ │ └── test │ │ │ └── java │ │ │ └── AppointmentSchedulerTest.java │ ├── calculator-conundrum │ │ ├── .docs │ │ │ ├── hints.md │ │ │ ├── instructions.md │ │ │ ├── introduction.md │ │ │ └── introduction.md.tpl │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── design.md │ │ │ └── src │ │ │ │ └── reference │ │ │ │ └── java │ │ │ │ ├── CalculatorConundrum.java │ │ │ │ └── IllegalOperationException.java │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ ├── CalculatorConundrum.java │ │ │ │ └── IllegalOperationException.java │ │ │ └── test │ │ │ └── java │ │ │ └── CalculatorConundrumTest.java │ ├── captains-log │ │ ├── .docs │ │ │ ├── hints.md │ │ │ ├── instructions.md │ │ │ ├── introduction.md │ │ │ └── introduction.md.tpl │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── design.md │ │ │ └── src │ │ │ │ └── reference │ │ │ │ └── java │ │ │ │ └── CaptainsLog.java │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── CaptainsLog.java │ │ │ └── test │ │ │ └── java │ │ │ └── CaptainsLogTest.java │ ├── cars-assemble │ │ ├── .docs │ │ │ ├── hints.md │ │ │ ├── instructions.md │ │ │ ├── introduction.md │ │ │ └── introduction.md.tpl │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── design.md │ │ │ └── src │ │ │ │ └── reference │ │ │ │ └── java │ │ │ │ └── CarsAssemble.java │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── CarsAssemble.java │ │ │ └── test │ │ │ └── java │ │ │ └── CarsAssembleTest.java │ ├── football-match-reports │ │ ├── .docs │ │ │ ├── hints.md │ │ │ ├── instructions.md │ │ │ ├── introduction.md │ │ │ └── introduction.md.tpl │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── design.md │ │ │ └── src │ │ │ │ └── reference │ │ │ │ └── java │ │ │ │ └── FootballMatchReports.java │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── FootballMatchReports.java │ │ │ └── test │ │ │ └── java │ │ │ └── FootballMatchReportsTest.java │ ├── gotta-snatch-em-all │ │ ├── .docs │ │ │ ├── hints.md │ │ │ ├── instructions.md │ │ │ ├── introduction.md │ │ │ └── introduction.md.tpl │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── design.md │ │ │ └── src │ │ │ │ └── reference │ │ │ │ └── java │ │ │ │ └── GottaSnatchEmAll.java │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── GottaSnatchEmAll.java │ │ │ └── test │ │ │ └── java │ │ │ └── GottaSnatchEmAllTest.java │ ├── international-calling-connoisseur │ │ ├── .docs │ │ │ ├── hints.md │ │ │ ├── instructions.md │ │ │ ├── introduction.md │ │ │ └── introduction.md.tpl │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── design.md │ │ │ └── src │ │ │ │ └── reference │ │ │ │ └── java │ │ │ │ └── DialingCodes.java │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── DialingCodes.java │ │ │ └── test │ │ │ └── java │ │ │ └── DialingCodesTest.java │ ├── jedliks-toy-car │ │ ├── .docs │ │ │ ├── hints.md │ │ │ ├── instructions.md │ │ │ ├── introduction.md │ │ │ └── introduction.md.tpl │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── design.md │ │ │ └── src │ │ │ │ └── reference │ │ │ │ └── java │ │ │ │ └── JedliksToyCar.java │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── JedliksToyCar.java │ │ │ └── test │ │ │ └── java │ │ │ └── JedliksToyCarTest.java │ ├── karls-languages │ │ ├── .docs │ │ │ ├── hints.md │ │ │ ├── instructions.md │ │ │ ├── introduction.md │ │ │ └── introduction.md.tpl │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── design.md │ │ │ └── src │ │ │ │ └── reference │ │ │ │ └── java │ │ │ │ └── LanguageList.java │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── LanguageList.java │ │ │ └── test │ │ │ └── java │ │ │ └── LanguageListTest.java │ ├── lasagna │ │ ├── .docs │ │ │ ├── hints.md │ │ │ ├── instructions.md │ │ │ ├── introduction.md │ │ │ └── introduction.md.tpl │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── design.md │ │ │ └── src │ │ │ │ └── reference │ │ │ │ └── java │ │ │ │ └── Lasagna.java │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── Lasagna.java │ │ │ └── test │ │ │ └── java │ │ │ ├── LasagnaTest.java │ │ │ └── utils │ │ │ ├── Lasagna.java │ │ │ └── ReflectionProxy.java │ ├── log-levels │ │ ├── .docs │ │ │ ├── hints.md │ │ │ ├── instructions.md │ │ │ ├── introduction.md │ │ │ └── introduction.md.tpl │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── design.md │ │ │ └── src │ │ │ │ └── reference │ │ │ │ └── java │ │ │ │ └── LogLevels.java │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── LogLevels.java │ │ │ └── test │ │ │ └── java │ │ │ └── LogLevelsTest.java │ ├── logs-logs-logs │ │ ├── .docs │ │ │ ├── hints.md │ │ │ ├── instructions.md │ │ │ ├── introduction.md │ │ │ └── introduction.md.tpl │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── design.md │ │ │ └── src │ │ │ │ └── reference │ │ │ │ └── java │ │ │ │ ├── LogLevel.java │ │ │ │ └── LogLine.java │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ ├── LogLevel.java │ │ │ │ └── LogLine.java │ │ │ └── test │ │ │ └── java │ │ │ └── LogsLogsLogsTest.java │ ├── need-for-speed │ │ ├── .docs │ │ │ ├── hints.md │ │ │ ├── instructions.md │ │ │ ├── introduction.md │ │ │ └── introduction.md.tpl │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── design.md │ │ │ └── src │ │ │ │ └── reference │ │ │ │ └── java │ │ │ │ └── NeedForSpeed.java │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── NeedForSpeed.java │ │ │ └── test │ │ │ └── java │ │ │ └── NeedForSpeedTest.java │ ├── remote-control-competition │ │ ├── .docs │ │ │ ├── hints.md │ │ │ ├── instructions.md │ │ │ ├── introduction.md │ │ │ └── introduction.md.tpl │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── design.md │ │ │ └── src │ │ │ │ └── reference │ │ │ │ └── java │ │ │ │ ├── ExperimentalRemoteControlCar.java │ │ │ │ ├── ProductionRemoteControlCar.java │ │ │ │ ├── RemoteControlCar.java │ │ │ │ └── TestTrack.java │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ ├── ExperimentalRemoteControlCar.java │ │ │ │ ├── ProductionRemoteControlCar.java │ │ │ │ ├── RemoteControlCar.java │ │ │ │ └── TestTrack.java │ │ │ └── test │ │ │ └── java │ │ │ └── RemoteControlCarTest.java │ ├── salary-calculator │ │ ├── .docs │ │ │ ├── hints.md │ │ │ ├── instructions.md │ │ │ ├── introduction.md │ │ │ └── introduction.md.tpl │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── design.md │ │ │ └── src │ │ │ │ └── reference │ │ │ │ └── java │ │ │ │ └── SalaryCalculator.java │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── SalaryCalculator.java │ │ │ └── test │ │ │ └── java │ │ │ └── SalaryCalculatorTest.java │ ├── secrets │ │ ├── .docs │ │ │ ├── hints.md │ │ │ ├── instructions.md │ │ │ ├── introduction.md │ │ │ └── introduction.md.tpl │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── design.md │ │ │ └── src │ │ │ │ └── reference │ │ │ │ └── java │ │ │ │ └── Secrets.java │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── Secrets.java │ │ │ └── test │ │ │ └── java │ │ │ └── SecretsTest.java │ ├── squeaky-clean │ │ ├── .docs │ │ │ ├── hints.md │ │ │ ├── instructions.md │ │ │ ├── introduction.md │ │ │ └── introduction.md.tpl │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── design.md │ │ │ └── src │ │ │ │ └── reference │ │ │ │ └── java │ │ │ │ └── SqueakyClean.java │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── SqueakyClean.java │ │ │ └── test │ │ │ └── java │ │ │ └── SqueakyCleanTest.java │ ├── tim-from-marketing │ │ ├── .docs │ │ │ ├── hints.md │ │ │ ├── instructions.md │ │ │ ├── introduction.md │ │ │ └── introduction.md.tpl │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── design.md │ │ │ └── src │ │ │ │ └── reference │ │ │ │ └── java │ │ │ │ └── Badge.java │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── Badge.java │ │ │ └── test │ │ │ └── java │ │ │ └── BadgeTest.java │ ├── wizards-and-warriors-2 │ │ ├── .docs │ │ │ ├── hints.md │ │ │ ├── instructions.md │ │ │ ├── introduction.md │ │ │ └── introduction.md.tpl │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── design.md │ │ │ └── src │ │ │ │ └── reference │ │ │ │ └── java │ │ │ │ ├── Character.java │ │ │ │ ├── Destination.java │ │ │ │ ├── GameMaster.java │ │ │ │ └── TravelMethod.java │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ ├── Character.java │ │ │ │ ├── Destination.java │ │ │ │ ├── GameMaster.java │ │ │ │ └── TravelMethod.java │ │ │ └── test │ │ │ └── java │ │ │ ├── GameMasterProxy.java │ │ │ ├── GameMasterTest.java │ │ │ └── ReflectionProxy.java │ └── wizards-and-warriors │ │ ├── .docs │ │ ├── hints.md │ │ ├── instructions.md │ │ ├── introduction.md │ │ └── introduction.md.tpl │ │ ├── .meta │ │ ├── config.json │ │ ├── design.md │ │ └── src │ │ │ └── reference │ │ │ └── java │ │ │ └── Fighter.java │ │ ├── build.gradle │ │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ ├── main │ │ └── java │ │ │ └── Fighter.java │ │ └── test │ │ └── java │ │ ├── FighterTest.java │ │ ├── ReflectionProxy.java │ │ ├── WarriorProxy.java │ │ └── WizardProxy.java ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── practice │ ├── accumulate │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ └── src │ │ │ │ └── reference │ │ │ │ └── java │ │ │ │ └── Accumulate.java │ │ ├── build.gradle │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── Accumulate.java │ │ │ └── test │ │ │ └── java │ │ │ └── AccumulateTest.java │ ├── acronym │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── Acronym.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── Acronym.java │ │ │ └── test │ │ │ └── java │ │ │ └── AcronymTest.java │ ├── affine-cipher │ │ ├── .docs │ │ │ ├── instructions.append.md │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── AffineCipher.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── AffineCipher.java │ │ │ └── test │ │ │ └── java │ │ │ └── AffineCipherTest.java │ ├── all-your-base │ │ ├── .docs │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── BaseConverter.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── BaseConverter.java │ │ │ └── test │ │ │ └── java │ │ │ └── BaseConverterTest.java │ ├── allergies │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ ├── Allergen.java │ │ │ │ │ └── Allergies.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ ├── Allergen.java │ │ │ │ └── Allergies.java │ │ │ └── test │ │ │ └── java │ │ │ └── AllergiesTest.java │ ├── alphametics │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ ├── Alphametics.java │ │ │ │ │ └── UnsolvablePuzzleException.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ ├── Alphametics.java │ │ │ │ └── UnsolvablePuzzleException.java │ │ │ └── test │ │ │ └── java │ │ │ └── AlphameticsTest.java │ ├── anagram │ │ ├── .docs │ │ │ ├── instructions.append.md │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── Anagram.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── Anagram.java │ │ │ └── test │ │ │ └── java │ │ │ └── AnagramTest.java │ ├── armstrong-numbers │ │ ├── .docs │ │ │ ├── instructions.append.md │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── ArmstrongNumbers.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── ArmstrongNumbers.java │ │ │ └── test │ │ │ └── java │ │ │ └── ArmstrongNumbersTest.java │ ├── atbash-cipher │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── Atbash.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── Atbash.java │ │ │ └── test │ │ │ └── java │ │ │ └── AtbashTest.java │ ├── bank-account │ │ ├── .docs │ │ │ ├── instructions.append.md │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ ├── BankAccount.java │ │ │ │ │ └── BankAccountActionInvalidException.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ ├── BankAccount.java │ │ │ │ └── BankAccountActionInvalidException.java │ │ │ └── test │ │ │ └── java │ │ │ └── BankAccountTest.java │ ├── beer-song │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── BeerSong.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── BeerSong.java │ │ │ └── test │ │ │ └── java │ │ │ └── BeerSongTest.java │ ├── binary-search-tree │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── BinarySearchTree.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── BinarySearchTree.java │ │ │ └── test │ │ │ └── java │ │ │ └── BinarySearchTreeTest.java │ ├── binary-search │ │ ├── .docs │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ ├── BinarySearch.java │ │ │ │ │ └── ValueNotFoundException.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ ├── BinarySearch.java │ │ │ │ └── ValueNotFoundException.java │ │ │ └── test │ │ │ └── java │ │ │ └── BinarySearchTest.java │ ├── binary │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── Binary.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── Binary.java │ │ │ └── test │ │ │ └── java │ │ │ └── BinaryTest.java │ ├── bob │ │ ├── .approaches │ │ │ ├── answer-array │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ │ ├── config.json │ │ │ ├── introduction.md │ │ │ ├── method-based-if-statements │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ │ └── variable-based-if-statements │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ ├── .docs │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── Bob.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── Bob.java │ │ │ └── test │ │ │ └── java │ │ │ └── BobTest.java │ ├── book-store │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── BookStore.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── BookStore.java │ │ │ └── test │ │ │ └── java │ │ │ └── BookStoreTest.java │ ├── bottle-song │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── BottleSong.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── BottleSong.java │ │ │ └── test │ │ │ └── java │ │ │ └── BottleSongTest.java │ ├── bowling │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ ├── BowlingGame.java │ │ │ │ │ └── Frame.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── BowlingGame.java │ │ │ └── test │ │ │ └── java │ │ │ └── BowlingGameTest.java │ ├── change │ │ ├── .approaches │ │ │ ├── config.json │ │ │ ├── dynamic-programming │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ │ └── introduction.md │ │ ├── .docs │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── ChangeCalculator.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── ChangeCalculator.java │ │ │ └── test │ │ │ └── java │ │ │ └── ChangeCalculatorTest.java │ ├── circular-buffer │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ ├── BufferIOException.java │ │ │ │ │ └── CircularBuffer.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ ├── BufferIOException.java │ │ │ │ └── CircularBuffer.java │ │ │ └── test │ │ │ └── java │ │ │ └── CircularBufferTest.java │ ├── clock │ │ ├── .docs │ │ │ ├── instructions.append.md │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── Clock.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── Clock.java │ │ │ └── test │ │ │ └── java │ │ │ ├── ClockAddTest.java │ │ │ ├── ClockCreationTest.java │ │ │ └── ClockEqualTest.java │ ├── collatz-conjecture │ │ ├── .approaches │ │ │ ├── config.json │ │ │ ├── introduction.md │ │ │ ├── intstream-iterate │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ │ └── while-loop │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ ├── .docs │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── CollatzCalculator.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── CollatzCalculator.java │ │ │ └── test │ │ │ └── java │ │ │ └── CollatzCalculatorTest.java │ ├── complex-numbers │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── ComplexNumber.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── ComplexNumber.java │ │ │ └── test │ │ │ └── java │ │ │ └── ComplexNumberTest.java │ ├── connect │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ ├── Board.java │ │ │ │ │ ├── Connect.java │ │ │ │ │ ├── UnionFind.java │ │ │ │ │ └── Winner.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ ├── Connect.java │ │ │ │ └── Winner.java │ │ │ └── test │ │ │ └── java │ │ │ └── ConnectTest.java │ ├── crypto-square │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── CryptoSquare.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── CryptoSquare.java │ │ │ └── test │ │ │ └── java │ │ │ └── CryptoSquareTest.java │ ├── custom-set │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── CustomSet.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── CustomSet.java │ │ │ └── test │ │ │ └── java │ │ │ └── CustomSetTest.java │ ├── darts │ │ ├── .approaches │ │ │ ├── config.json │ │ │ ├── doublepredicate │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ │ ├── if-statements │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ │ └── introduction.md │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── Darts.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── Darts.java │ │ │ └── test │ │ │ └── java │ │ │ └── DartsTest.java │ ├── diamond │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── DiamondPrinter.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── DiamondPrinter.java │ │ │ └── test │ │ │ └── java │ │ │ └── DiamondPrinterTest.java │ ├── difference-of-squares │ │ ├── .approaches │ │ │ ├── config.json │ │ │ ├── formula │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ │ ├── introduction.md │ │ │ └── intstream │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── DifferenceOfSquaresCalculator.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── DifferenceOfSquaresCalculator.java │ │ │ └── test │ │ │ └── java │ │ │ └── DifferenceOfSquaresCalculatorTest.java │ ├── diffie-hellman │ │ ├── .docs │ │ │ ├── instructions.append.md │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── DiffieHellman.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── DiffieHellman.java │ │ │ └── test │ │ │ └── java │ │ │ └── DiffieHellmanTest.java │ ├── dnd-character │ │ ├── .docs │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── DnDCharacter.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── DnDCharacter.java │ │ │ └── test │ │ │ └── java │ │ │ └── DnDCharacterTest.java │ ├── dominoes │ │ ├── .docs │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ ├── ChainNotFoundException.java │ │ │ │ │ ├── Domino.java │ │ │ │ │ └── Dominoes.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ ├── ChainNotFoundException.java │ │ │ │ ├── Domino.java │ │ │ │ └── Dominoes.java │ │ │ └── test │ │ │ └── java │ │ │ └── DominoesTest.java │ ├── dot-dsl │ │ ├── .docs │ │ │ ├── instructions.append.md │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ └── src │ │ │ │ └── reference │ │ │ │ └── java │ │ │ │ ├── Edge.java │ │ │ │ ├── Graph.java │ │ │ │ └── Node.java │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ ├── Edge.java │ │ │ │ ├── Graph.java │ │ │ │ └── Node.java │ │ │ └── test │ │ │ └── java │ │ │ └── GraphTest.java │ ├── eliuds-eggs │ │ ├── .docs │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── EliudsEggs.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── EliudsEggs.java │ │ │ └── test │ │ │ └── java │ │ │ └── EliudsEggsTest.java │ ├── error-handling │ │ ├── .docs │ │ │ ├── instructions.append.md │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ └── src │ │ │ │ └── reference │ │ │ │ └── java │ │ │ │ ├── CustomCheckedException.java │ │ │ │ ├── CustomUncheckedException.java │ │ │ │ └── ErrorHandling.java │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ ├── CustomCheckedException.java │ │ │ │ ├── CustomUncheckedException.java │ │ │ │ └── ErrorHandling.java │ │ │ └── test │ │ │ └── java │ │ │ └── ErrorHandlingTest.java │ ├── etl │ │ ├── .docs │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── Etl.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── Etl.java │ │ │ └── test │ │ │ └── java │ │ │ └── EtlTest.java │ ├── flatten-array │ │ ├── .docs │ │ │ ├── instructions.append.md │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── Flattener.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── Flattener.java │ │ │ └── test │ │ │ └── java │ │ │ └── FlattenerTest.java │ ├── flower-field │ │ ├── .docs │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── FlowerFieldBoard.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── FlowerFieldBoard.java │ │ │ └── test │ │ │ └── java │ │ │ └── FlowerFieldBoardTest.java │ ├── food-chain │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── FoodChain.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── FoodChain.java │ │ │ └── test │ │ │ └── java │ │ │ └── FoodChainTest.java │ ├── forth │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ ├── ForthEvaluator.java │ │ │ │ │ └── Token.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── ForthEvaluator.java │ │ │ └── test │ │ │ └── java │ │ │ └── ForthEvaluatorTest.java │ ├── game-of-life │ │ ├── .docs │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── GameOfLife.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── GameOfLife.java │ │ │ └── test │ │ │ └── java │ │ │ └── GameOfLifeTest.java │ ├── gigasecond │ │ ├── .docs │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── Gigasecond.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── Gigasecond.java │ │ │ └── test │ │ │ └── java │ │ │ └── GigasecondTest.java │ ├── go-counting │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ ├── GoCounting.java │ │ │ │ │ └── Player.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ ├── GoCounting.java │ │ │ │ └── Player.java │ │ │ └── test │ │ │ └── java │ │ │ └── GoCountingTest.java │ ├── grade-school │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── School.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── School.java │ │ │ └── test │ │ │ └── java │ │ │ └── SchoolTest.java │ ├── grains │ │ ├── .approaches │ │ │ ├── bit-shifting │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ │ ├── config.json │ │ │ ├── introduction.md │ │ │ └── pow │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ ├── .docs │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── Grains.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── Grains.java │ │ │ └── test │ │ │ └── java │ │ │ └── GrainsTest.java │ ├── grep │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── GrepTool.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── GrepTool.java │ │ │ └── test │ │ │ └── java │ │ │ └── GrepToolTest.java │ ├── hamming │ │ ├── .approaches │ │ │ ├── config.json │ │ │ ├── for-loop │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ │ ├── introduction.md │ │ │ ├── intstream-filter-count │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ │ ├── intstream-map-sum │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ │ └── intstream-reduce │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ ├── .docs │ │ │ ├── instructions.append.md │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── design.md │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── Hamming.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── Hamming.java │ │ │ └── test │ │ │ └── java │ │ │ └── HammingTest.java │ ├── hangman │ │ ├── .docs │ │ │ ├── instructions.append.md │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ └── src │ │ │ │ └── reference │ │ │ │ └── java │ │ │ │ ├── Hangman.java │ │ │ │ ├── Output.java │ │ │ │ ├── Part.java │ │ │ │ └── Status.java │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ ├── Hangman.java │ │ │ │ ├── Output.java │ │ │ │ ├── Part.java │ │ │ │ └── Status.java │ │ │ └── test │ │ │ └── java │ │ │ └── HangmanTest.java │ ├── hello-world │ │ ├── .docs │ │ │ ├── instructions.append.md │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── Greeter.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── Greeter.java │ │ │ └── test │ │ │ └── java │ │ │ └── GreeterTest.java │ ├── hexadecimal │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ └── src │ │ │ │ └── reference │ │ │ │ └── java │ │ │ │ └── Hexadecimal.java │ │ ├── build.gradle │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── Hexadecimal.java │ │ │ └── test │ │ │ └── java │ │ │ └── HexadecimalTest.java │ ├── high-scores │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── HighScores.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── HighScores.java │ │ │ └── test │ │ │ └── java │ │ │ └── HighScoresTest.java │ ├── house │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── House.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── House.java │ │ │ └── test │ │ │ └── java │ │ │ └── HouseTest.java │ ├── isbn-verifier │ │ ├── .approaches │ │ │ ├── chars-foreach │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ │ ├── config.json │ │ │ ├── for-each │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ │ ├── introduction.md │ │ │ └── map-sum │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── IsbnVerifier.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── IsbnVerifier.java │ │ │ └── test │ │ │ └── java │ │ │ └── IsbnVerifierTest.java │ ├── isogram │ │ ├── .approaches │ │ │ ├── config.json │ │ │ ├── filter-map-allmatch │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ │ ├── filter-maptoobj-distinct │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ │ └── introduction.md │ │ ├── .docs │ │ │ ├── instructions.append.md │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── IsogramChecker.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── IsogramChecker.java │ │ │ └── test │ │ │ └── java │ │ │ └── IsogramCheckerTest.java │ ├── killer-sudoku-helper │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── KillerSudokuHelper.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── KillerSudokuHelper.java │ │ │ └── test │ │ │ └── java │ │ │ └── KillerSudokuHelperTest.java │ ├── kindergarten-garden │ │ ├── .docs │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ ├── KindergartenGarden.java │ │ │ │ │ └── Plant.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ ├── KindergartenGarden.java │ │ │ │ └── Plant.java │ │ │ └── test │ │ │ └── java │ │ │ └── KindergartenGardenTest.java │ ├── knapsack │ │ ├── .approaches │ │ │ ├── config.json │ │ │ ├── dynamic-programming │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ │ ├── introduction.md │ │ │ └── recursive │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ ├── .docs │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ ├── Item.java │ │ │ │ │ └── Knapsack.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ ├── Item.java │ │ │ │ └── Knapsack.java │ │ │ └── test │ │ │ └── java │ │ │ └── KnapsackTest.java │ ├── largest-series-product │ │ ├── .docs │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── LargestSeriesProductCalculator.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── LargestSeriesProductCalculator.java │ │ │ └── test │ │ │ └── java │ │ │ └── LargestSeriesProductCalculatorTest.java │ ├── leap │ │ ├── .approaches │ │ │ ├── boolean-chain │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ │ ├── built-in-method │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ │ ├── config.json │ │ │ ├── introduction.md │ │ │ ├── plusdays │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ │ └── ternary-operator │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ ├── .docs │ │ │ ├── instructions.append.md │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── design.md │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── Leap.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── Leap.java │ │ │ └── test │ │ │ └── java │ │ │ └── LeapTest.java │ ├── ledger │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── Ledger.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── Ledger.java │ │ │ └── test │ │ │ └── java │ │ │ ├── LedgerTest.java │ │ │ └── LocaleExtension.java │ ├── linked-list │ │ ├── .docs │ │ │ ├── instructions.append.md │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── DoublyLinkedList.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── DoublyLinkedList.java │ │ │ └── test │ │ │ └── java │ │ │ └── DoublyLinkedListTest.java │ ├── list-ops │ │ ├── .docs │ │ │ ├── instructions.append.md │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── ListOps.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── ListOps.java │ │ │ └── test │ │ │ └── java │ │ │ └── ListOpsTest.java │ ├── luhn │ │ ├── .docs │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── LuhnValidator.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── LuhnValidator.java │ │ │ └── test │ │ │ └── java │ │ │ └── LuhnValidatorTest.java │ ├── markdown │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── Markdown.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── Markdown.java │ │ │ └── test │ │ │ └── java │ │ │ └── MarkdownTest.java │ ├── matching-brackets │ │ ├── .docs │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── BracketChecker.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── BracketChecker.java │ │ │ └── test │ │ │ └── java │ │ │ └── BracketCheckerTest.java │ ├── matrix │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── Matrix.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── Matrix.java │ │ │ └── test │ │ │ └── java │ │ │ └── MatrixTest.java │ ├── mazy-mice │ │ ├── .docs │ │ │ ├── hints.md │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ └── src │ │ │ │ └── reference │ │ │ │ └── java │ │ │ │ ├── Dimensions.java │ │ │ │ └── MazeGenerator.java │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── MazeGenerator.java │ │ │ └── test │ │ │ └── java │ │ │ └── MazeGeneratorTest.java │ ├── meetup │ │ ├── .docs │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ ├── Meetup.java │ │ │ │ │ └── MeetupSchedule.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ ├── Meetup.java │ │ │ │ └── MeetupSchedule.java │ │ │ └── test │ │ │ └── java │ │ │ └── MeetupTest.java │ ├── micro-blog │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── MicroBlog.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── MicroBlog.java │ │ │ └── test │ │ │ └── java │ │ │ └── MicroBlogTest.java │ ├── minesweeper │ │ ├── .docs │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── MinesweeperBoard.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── MinesweeperBoard.java │ │ │ └── test │ │ │ └── java │ │ │ └── MinesweeperBoardTest.java │ ├── nth-prime │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── PrimeCalculator.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── PrimeCalculator.java │ │ │ └── test │ │ │ └── java │ │ │ └── PrimeCalculatorTest.java │ ├── nucleotide-count │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── NucleotideCounter.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── NucleotideCounter.java │ │ │ └── test │ │ │ └── java │ │ │ └── NucleotideCounterTest.java │ ├── ocr-numbers │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ ├── Digit.java │ │ │ │ │ └── OpticalCharacterReader.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── OpticalCharacterReader.java │ │ │ └── test │ │ │ └── java │ │ │ └── OpticalCharacterReaderTest.java │ ├── octal │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ └── src │ │ │ │ └── reference │ │ │ │ └── java │ │ │ │ └── Octal.java │ │ ├── build.gradle │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── Octal.java │ │ │ └── test │ │ │ └── java │ │ │ └── OctalTest.java │ ├── palindrome-products │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── PalindromeCalculator.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── PalindromeCalculator.java │ │ │ └── test │ │ │ └── java │ │ │ └── PalindromeCalculatorTest.java │ ├── pangram │ │ ├── .approaches │ │ │ ├── config.json │ │ │ ├── containsall │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ │ ├── filter-distinct-count │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ │ └── introduction.md │ │ ├── .docs │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── PangramChecker.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── PangramChecker.java │ │ │ └── test │ │ │ └── java │ │ │ └── PangramCheckerTest.java │ ├── parallel-letter-frequency │ │ ├── .approaches │ │ │ ├── config.json │ │ │ ├── fork-join │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ │ ├── introduction.md │ │ │ └── parallel-stream │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ ├── .docs │ │ │ ├── hints.md │ │ │ ├── instructions.append.md │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── ParallelLetterFrequency.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── ParallelLetterFrequency.java │ │ │ └── test │ │ │ └── java │ │ │ └── ParallelLetterFrequencyTest.java │ ├── pascals-triangle │ │ ├── .docs │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── PascalsTriangleGenerator.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── PascalsTriangleGenerator.java │ │ │ └── test │ │ │ └── java │ │ │ └── PascalsTriangleGeneratorTest.java │ ├── perfect-numbers │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ ├── Classification.java │ │ │ │ │ └── NaturalNumber.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ ├── Classification.java │ │ │ │ └── NaturalNumber.java │ │ │ └── test │ │ │ └── java │ │ │ └── NaturalNumberTest.java │ ├── phone-number │ │ ├── .docs │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── PhoneNumber.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── PhoneNumber.java │ │ │ └── test │ │ │ └── java │ │ │ └── PhoneNumberTest.java │ ├── piecing-it-together │ │ ├── .docs │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ ├── JigsawInfo.java │ │ │ │ │ └── PiecingItTogether.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ ├── JigsawInfo.java │ │ │ │ └── PiecingItTogether.java │ │ │ └── test │ │ │ └── java │ │ │ └── PiecingItTogetherTest.java │ ├── pig-latin │ │ ├── .approaches │ │ │ ├── charat-substring │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ │ ├── config.json │ │ │ └── introduction.md │ │ ├── .docs │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── PigLatinTranslator.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── PigLatinTranslator.java │ │ │ └── test │ │ │ └── java │ │ │ └── PigLatinTranslatorTest.java │ ├── poker │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── Poker.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── Poker.java │ │ │ └── test │ │ │ └── java │ │ │ └── PokerTest.java │ ├── pov │ │ ├── .docs │ │ │ ├── instructions.append.md │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── Tree.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── Tree.java │ │ │ └── test │ │ │ └── java │ │ │ └── PovTest.java │ ├── prime-factors │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── PrimeFactorsCalculator.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── PrimeFactorsCalculator.java │ │ │ └── test │ │ │ └── java │ │ │ └── PrimeFactorsCalculatorTest.java │ ├── protein-translation │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── ProteinTranslator.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── ProteinTranslator.java │ │ │ └── test │ │ │ └── java │ │ │ └── ProteinTranslatorTest.java │ ├── proverb │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── Proverb.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── Proverb.java │ │ │ └── test │ │ │ └── java │ │ │ └── ProverbTest.java │ ├── pythagorean-triplet │ │ ├── .approaches │ │ │ ├── config.json │ │ │ ├── for-loops │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ │ ├── introduction.md │ │ │ └── intstream-parallel-flatmap-filter │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ ├── .docs │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── PythagoreanTriplet.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── PythagoreanTriplet.java │ │ │ └── test │ │ │ └── java │ │ │ └── PythagoreanTripletTest.java │ ├── queen-attack │ │ ├── .approaches │ │ │ ├── config.json │ │ │ ├── difference-comparison │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ │ └── introduction.md │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ ├── Queen.java │ │ │ │ │ └── QueenAttackCalculator.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ ├── Queen.java │ │ │ │ └── QueenAttackCalculator.java │ │ │ └── test │ │ │ └── java │ │ │ └── QueenAttackCalculatorTest.java │ ├── rail-fence-cipher │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── RailFenceCipher.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── RailFenceCipher.java │ │ │ └── test │ │ │ └── java │ │ │ └── RailFenceCipherTest.java │ ├── raindrops │ │ ├── .approaches │ │ │ ├── config.json │ │ │ ├── if-statements │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ │ ├── introduction.md │ │ │ └── map │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ ├── .docs │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── RaindropConverter.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── RaindropConverter.java │ │ │ └── test │ │ │ └── java │ │ │ └── RaindropConverterTest.java │ ├── rational-numbers │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── Rational.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── Rational.java │ │ │ └── test │ │ │ └── java │ │ │ └── RationalTest.java │ ├── react │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── React.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── React.java │ │ │ └── test │ │ │ └── java │ │ │ └── ReactTest.java │ ├── rectangles │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── RectangleCounter.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── RectangleCounter.java │ │ │ └── test │ │ │ └── java │ │ │ └── RectangleCounterTest.java │ ├── relative-distance │ │ ├── .docs │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── RelativeDistance.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── RelativeDistance.java │ │ │ └── test │ │ │ └── java │ │ │ └── RelativeDistanceTest.java │ ├── resistor-color-duo │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── ResistorColorDuo.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── ResistorColorDuo.java │ │ │ └── test │ │ │ └── java │ │ │ └── ResistorColorDuoTest.java │ ├── resistor-color-trio │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── ResistorColorTrio.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── ResistorColorTrio.java │ │ │ └── test │ │ │ └── java │ │ │ └── ResistorColorTrioTest.java │ ├── resistor-color │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── ResistorColor.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── ResistorColor.java │ │ │ └── test │ │ │ └── java │ │ │ └── ResistorColorTest.java │ ├── rest-api │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ ├── Iou.java │ │ │ │ │ ├── RestApi.java │ │ │ │ │ └── User.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ ├── Iou.java │ │ │ │ ├── RestApi.java │ │ │ │ └── User.java │ │ │ └── test │ │ │ └── java │ │ │ └── RestApiTest.java │ ├── reverse-string │ │ ├── .docs │ │ │ ├── instructions.append.md │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── design.md │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── ReverseString.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── ReverseString.java │ │ │ └── test │ │ │ └── java │ │ │ └── ReverseStringTest.java │ ├── rna-transcription │ │ ├── .docs │ │ │ ├── instructions.append.md │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── RnaTranscription.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── RnaTranscription.java │ │ │ └── test │ │ │ └── java │ │ │ └── RnaTranscriptionTest.java │ ├── robot-name │ │ ├── .approaches │ │ │ ├── config.json │ │ │ ├── introduction.md │ │ │ ├── random-add-to-used-names │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ │ └── sequential-take-from-shuffled-names │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ └── src │ │ │ │ └── reference │ │ │ │ └── java │ │ │ │ └── Robot.java │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── Robot.java │ │ │ └── test │ │ │ └── java │ │ │ └── RobotTest.java │ ├── robot-simulator │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ ├── GridPosition.java │ │ │ │ │ ├── Orientation.java │ │ │ │ │ └── Robot.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ ├── GridPosition.java │ │ │ │ ├── Orientation.java │ │ │ │ └── Robot.java │ │ │ └── test │ │ │ └── java │ │ │ └── RobotTest.java │ ├── roman-numerals │ │ ├── .docs │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── RomanNumerals.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── RomanNumerals.java │ │ │ └── test │ │ │ └── java │ │ │ └── RomanNumeralsTest.java │ ├── rotational-cipher │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── RotationalCipher.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── RotationalCipher.java │ │ │ └── test │ │ │ └── java │ │ │ └── RotationalCipherTest.java │ ├── run-length-encoding │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── RunLengthEncoding.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── RunLengthEncoding.java │ │ │ └── test │ │ │ └── java │ │ │ └── RunLengthEncodingTest.java │ ├── saddle-points │ │ ├── .docs │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ ├── Matrix.java │ │ │ │ │ └── MatrixCoordinate.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ ├── Matrix.java │ │ │ │ └── MatrixCoordinate.java │ │ │ └── test │ │ │ └── java │ │ │ └── MatrixTest.java │ ├── satellite │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ ├── Node.java │ │ │ │ │ ├── Satellite.java │ │ │ │ │ └── Tree.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ ├── Node.java │ │ │ │ ├── Satellite.java │ │ │ │ └── Tree.java │ │ │ └── test │ │ │ └── java │ │ │ ├── SatelliteTest.java │ │ │ └── TreeTest.java │ ├── say │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── Say.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── Say.java │ │ │ └── test │ │ │ └── java │ │ │ └── SayTest.java │ ├── scrabble-score │ │ ├── .approaches │ │ │ ├── config.json │ │ │ ├── if-statements │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ │ ├── introduction.md │ │ │ ├── map-reduce │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ │ └── switch-statement │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ ├── .docs │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── Scrabble.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── Scrabble.java │ │ │ └── test │ │ │ └── java │ │ │ └── ScrabbleScoreTest.java │ ├── secret-handshake │ │ ├── .approaches │ │ │ ├── config.json │ │ │ ├── for-loop │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ │ ├── introduction.md │ │ │ └── intstream │ │ │ │ ├── content.md │ │ │ │ └── snippet.txt │ │ ├── .docs │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ ├── HandshakeCalculator.java │ │ │ │ │ └── Signal.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ ├── HandshakeCalculator.java │ │ │ │ └── Signal.java │ │ │ └── test │ │ │ └── java │ │ │ └── HandshakeCalculatorTest.java │ ├── series │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── Series.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── Series.java │ │ │ └── test │ │ │ └── java │ │ │ └── SeriesTest.java │ ├── sgf-parsing │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ ├── SgfNode.java │ │ │ │ │ ├── SgfParsing.java │ │ │ │ │ └── SgfParsingException.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ ├── SgfNode.java │ │ │ │ ├── SgfParsing.java │ │ │ │ └── SgfParsingException.java │ │ │ └── test │ │ │ └── java │ │ │ └── SgfParsingTest.java │ ├── sieve │ │ ├── .docs │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── Sieve.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── Sieve.java │ │ │ └── test │ │ │ └── java │ │ │ └── SieveTest.java │ ├── simple-cipher │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── Cipher.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── Cipher.java │ │ │ └── test │ │ │ └── java │ │ │ └── SimpleCipherTest.java │ ├── simple-linked-list │ │ ├── .docs │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ └── src │ │ │ │ └── reference │ │ │ │ └── java │ │ │ │ └── SimpleLinkedList.java │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── SimpleLinkedList.java │ │ │ └── test │ │ │ └── java │ │ │ └── SimpleLinkedListTest.java │ ├── space-age │ │ ├── .docs │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── SpaceAge.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── SpaceAge.java │ │ │ └── test │ │ │ └── java │ │ │ └── SpaceAgeTest.java │ ├── spiral-matrix │ │ ├── .docs │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ ├── Coordinate.java │ │ │ │ │ ├── Direction.java │ │ │ │ │ └── SpiralMatrixBuilder.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── SpiralMatrixBuilder.java │ │ │ └── test │ │ │ └── java │ │ │ └── SpiralMatrixBuilderTest.java │ ├── square-root │ │ ├── .docs │ │ │ ├── instructions.append.md │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── SquareRoot.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── SquareRoot.java │ │ │ └── test │ │ │ └── java │ │ │ └── SquareRootTest.java │ ├── state-of-tic-tac-toe │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ ├── GameState.java │ │ │ │ │ └── StateOfTicTacToe.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ ├── GameState.java │ │ │ │ └── StateOfTicTacToe.java │ │ │ └── test │ │ │ └── java │ │ │ └── StateOfTicTacToeTest.java │ ├── strain │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ └── src │ │ │ │ └── reference │ │ │ │ └── java │ │ │ │ └── Strain.java │ │ ├── build.gradle │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── Strain.java │ │ │ └── test │ │ │ └── java │ │ │ └── StrainTest.java │ ├── sublist │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ ├── Relationship.java │ │ │ │ │ └── RelationshipComputer.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ ├── Relationship.java │ │ │ │ └── RelationshipComputer.java │ │ │ └── test │ │ │ └── java │ │ │ └── RelationshipComputerTest.java │ ├── sum-of-multiples │ │ ├── .docs │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── SumOfMultiples.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── SumOfMultiples.java │ │ │ └── test │ │ │ └── java │ │ │ └── SumOfMultiplesTest.java │ ├── swift-scheduling │ │ ├── .docs │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── SwiftScheduling.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── SwiftScheduling.java │ │ │ └── test │ │ │ └── java │ │ │ └── SwiftSchedulingTest.java │ ├── tournament │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ ├── Result.java │ │ │ │ │ ├── TeamResult.java │ │ │ │ │ └── Tournament.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── Tournament.java │ │ │ └── test │ │ │ └── java │ │ │ └── TournamentTest.java │ ├── transpose │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── Transpose.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── Transpose.java │ │ │ └── test │ │ │ └── java │ │ │ └── TransposeTest.java │ ├── tree-building │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ └── src │ │ │ │ └── reference │ │ │ │ └── java │ │ │ │ ├── BuildTree.java │ │ │ │ ├── InvalidRecordsException.java │ │ │ │ ├── Record.java │ │ │ │ └── TreeNode.java │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ ├── BuildTree.java │ │ │ │ ├── InvalidRecordsException.java │ │ │ │ ├── Record.java │ │ │ │ └── TreeNode.java │ │ │ └── test │ │ │ └── java │ │ │ └── BuildTreeTest.java │ ├── triangle │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ ├── Triangle.java │ │ │ │ │ └── TriangleException.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ ├── Triangle.java │ │ │ │ └── TriangleException.java │ │ │ └── test │ │ │ └── java │ │ │ └── TriangleTest.java │ ├── trinary │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── Trinary.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── Trinary.java │ │ │ └── test │ │ │ └── java │ │ │ └── TrinaryTest.java │ ├── twelve-days │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── TwelveDays.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── TwelveDays.java │ │ │ └── test │ │ │ └── java │ │ │ └── TwelveDaysTest.java │ ├── two-bucket │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ ├── Result.java │ │ │ │ │ ├── TwoBucket.java │ │ │ │ │ └── UnreachableGoalException.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ ├── Result.java │ │ │ │ ├── TwoBucket.java │ │ │ │ └── UnreachableGoalException.java │ │ │ └── test │ │ │ └── java │ │ │ └── TwoBucketTest.java │ ├── two-fer │ │ ├── .docs │ │ │ ├── instructions.append.md │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── design.md │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── Twofer.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── Twofer.java │ │ │ └── test │ │ │ └── java │ │ │ └── TwoferTest.java │ ├── variable-length-quantity │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── VariableLengthQuantity.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── VariableLengthQuantity.java │ │ │ └── test │ │ │ └── java │ │ │ └── VariableLengthQuantityTest.java │ ├── word-count │ │ ├── .docs │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── WordCount.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── WordCount.java │ │ │ └── test │ │ │ └── java │ │ │ └── WordCountTest.java │ ├── word-search │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ ├── Pair.java │ │ │ │ │ ├── WordLocation.java │ │ │ │ │ └── WordSearcher.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ ├── Pair.java │ │ │ │ ├── WordLocation.java │ │ │ │ └── WordSearcher.java │ │ │ └── test │ │ │ └── java │ │ │ └── WordSearcherTest.java │ ├── wordy │ │ ├── .docs │ │ │ └── instructions.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── WordProblemSolver.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── WordProblemSolver.java │ │ │ └── test │ │ │ └── java │ │ │ └── WordProblemSolverTest.java │ ├── yacht │ │ ├── .docs │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ ├── Yacht.java │ │ │ │ │ └── YachtCategory.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ ├── Yacht.java │ │ │ │ └── YachtCategory.java │ │ │ └── test │ │ │ └── java │ │ │ └── YachtTest.java │ ├── zebra-puzzle │ │ ├── .docs │ │ │ ├── instructions.md │ │ │ └── introduction.md │ │ ├── .meta │ │ │ ├── config.json │ │ │ ├── src │ │ │ │ └── reference │ │ │ │ │ └── java │ │ │ │ │ └── ZebraPuzzle.java │ │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ ├── gradle-wrapper.jar │ │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ │ ├── main │ │ │ └── java │ │ │ │ └── ZebraPuzzle.java │ │ │ └── test │ │ │ └── java │ │ │ └── ZebraPuzzleTest.java │ └── zipper │ │ ├── .docs │ │ └── instructions.md │ │ ├── .meta │ │ ├── config.json │ │ ├── src │ │ │ └── reference │ │ │ │ └── java │ │ │ │ └── Zipper.java │ │ └── tests.toml │ │ ├── build.gradle │ │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ │ ├── gradlew │ │ ├── gradlew.bat │ │ └── src │ │ ├── main │ │ └── java │ │ │ └── Zipper.java │ │ └── test │ │ └── java │ │ └── ZipperTest.java ├── settings.gradle └── shared │ └── .docs │ ├── help.md │ ├── representations.md │ └── tests.md ├── reference ├── contributing-to-practice-exercises.md ├── exercise-concepts │ ├── gigasecond.md │ ├── leap.md │ ├── matrix.md │ └── rna-transcription.md ├── how-to-update-gradle.md └── implementing-a-concept-exercise.md └── resources ├── exercise-template ├── .meta │ ├── config.json │ └── src │ │ └── reference │ │ └── java │ │ └── ExerciseName.java ├── build.gradle ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── src │ ├── main │ └── java │ │ └── ExerciseName.java │ └── test │ └── java │ └── ExerciseNameTest.java └── images ├── branch-menu.png ├── branch-name.png ├── clone-repo.png ├── commit-files.png ├── gradle-import.png ├── gradle-setup.png ├── java-module.png └── run-test.png /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | # Code owners 2 | .github/CODEOWNERS @exercism/maintainers-admin 3 | 4 | # Changes to `fetch-configlet` should be made in the `exercism/configlet` repo 5 | bin/fetch-configlet @exercism/maintainers-admin 6 | 7 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | # pull request 2 | 3 | 4 | 5 | 6 | 7 | 8 | --- 9 | 10 | Reviewer Resources: 11 | 12 | [Track Policies](https://github.com/exercism/java/blob/main/POLICIES.md#event-checklist) 13 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | 3 | updates: 4 | - package-ecosystem: 'github-actions' 5 | directory: '/' 6 | schedule: 7 | interval: 'monthly' 8 | labels: 9 | - 'x:size/tiny' 10 | -------------------------------------------------------------------------------- /.github/org-wide-files-config.toml: -------------------------------------------------------------------------------- 1 | [configlet] 2 | fmt = true 3 | -------------------------------------------------------------------------------- /.github/workflows/configlet.yml: -------------------------------------------------------------------------------- 1 | name: Configlet 2 | 3 | on: 4 | pull_request: 5 | push: 6 | branches: 7 | - main 8 | workflow_dispatch: 9 | 10 | permissions: 11 | contents: read 12 | 13 | jobs: 14 | configlet: 15 | uses: exercism/github-actions/.github/workflows/configlet.yml@main 16 | with: 17 | fmt: true 18 | -------------------------------------------------------------------------------- /.github/workflows/run-configlet-sync.yml: -------------------------------------------------------------------------------- 1 | name: Run Configlet Sync 2 | 3 | on: 4 | workflow_dispatch: 5 | schedule: 6 | - cron: '0 0 15 * *' 7 | 8 | jobs: 9 | call-gha-workflow: 10 | uses: exercism/github-actions/.github/workflows/configlet-sync.yml@main 11 | -------------------------------------------------------------------------------- /concepts/arrays/.meta/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "blurb": "Arrays are fixed-size collections of elements with the same type.", 3 | "authors": [ 4 | "samuelteixeiras", 5 | "ystromm" 6 | ], 7 | "contributors": [] 8 | } 9 | -------------------------------------------------------------------------------- /concepts/arrays/links.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "url": "https://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html", 4 | "description": "arrays" 5 | }, 6 | { 7 | "url": "https://www.programiz.com/java-programming/multidimensional-array", 8 | "description": "multi-dimensional-arrays" 9 | } 10 | ] -------------------------------------------------------------------------------- /concepts/basics/.meta/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "blurb": "Learn about Java basics like variable assignment and methods.", 3 | "authors": [ 4 | "mirkoperillo" 5 | ], 6 | "contributors": [] 7 | } 8 | -------------------------------------------------------------------------------- /concepts/bit-manipulation/.meta/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "blurb": "Perform bitwise operations using the bitwise operators.", 3 | "authors": [ 4 | "kahgoh" 5 | ], 6 | "contributors": [] 7 | } 8 | -------------------------------------------------------------------------------- /concepts/booleans/.meta/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "blurb": "Booleans (true and false) are used for conditional logic.", 3 | "authors": [ 4 | "mikedamay" 5 | ], 6 | "contributors": [] 7 | } 8 | -------------------------------------------------------------------------------- /concepts/booleans/links.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "url": "https://docs.oracle.com/javase/tutorial/java/nutsandbolts/opsummary.html", 4 | "description": "operators" 5 | }, 6 | { 7 | "url": "https://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html", 8 | "description": "precedence" 9 | } 10 | ] 11 | -------------------------------------------------------------------------------- /concepts/chars/.meta/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "blurb": "Strings are made up of chars (for example, a letter).", 3 | "authors": [ 4 | "ystromm" 5 | ], 6 | "contributors": [] 7 | } 8 | -------------------------------------------------------------------------------- /concepts/chars/about.md: -------------------------------------------------------------------------------- 1 | # About 2 | 3 | `char`s are generally easy to use. 4 | They can be extracted from strings, added back (by means of a string builder), defined and initialised using literals with single quotes, as in `char ch = 'A';`, assigned and compared. 5 | 6 | The Character class encapsulates the char value. 7 | -------------------------------------------------------------------------------- /concepts/chars/links.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "url":"https://docs.oracle.com/javase/8/docs/api/java/lang/Character.html", 4 | "description":"javadoc" 5 | }, 6 | { 7 | "url": "https://docs.oracle.com/javase/tutorial/i18n/text/unicode.html", 8 | "description": "unicode" 9 | } 10 | 11 | 12 | ] 13 | -------------------------------------------------------------------------------- /concepts/classes/.meta/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "blurb": "Classes are the foundation of object-oriented programming in Java.", 3 | "authors": [ 4 | "mikedamay" 5 | ], 6 | "contributors": [ 7 | "mirkoperillo" 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /concepts/constructors/.meta/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "blurb": "Constructors are used to create instances of a class.", 3 | "authors": [ 4 | "ystromm" 5 | ], 6 | "contributors": [ 7 | "mirkoperillo" 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /concepts/datetime/.meta/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "blurb": "There are several classes in Java to work with dates and time.", 3 | "authors": ["sanderploegsma"], 4 | "contributors": [] 5 | } 6 | -------------------------------------------------------------------------------- /concepts/enums/.meta/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "blurb": "Enums are useful to create a predefined set of constants.", 3 | "authors": ["sanderploegsma"], 4 | "contributors": [] 5 | } 6 | -------------------------------------------------------------------------------- /concepts/enums/links.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "url": "https://docs.oracle.com/javase/tutorial/java/javaOO/enum.html", 4 | "description": "Java Tuturial on Enum Types" 5 | } 6 | ] 7 | -------------------------------------------------------------------------------- /concepts/exceptions/.meta/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "blurb": "Exceptions are thrown when an error that needs special handling occurs.", 3 | "authors": ["sanderploegsma"], 4 | "contributors": ["BahaaMohamed98"] 5 | } 6 | -------------------------------------------------------------------------------- /concepts/exceptions/links.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "url": "https://docs.oracle.com/javase/tutorial/essential/exceptions/index.html", 4 | "description": "Exceptions in Java" 5 | } 6 | ] 7 | -------------------------------------------------------------------------------- /concepts/for-loops/.meta/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "blurb": "For loops allow for iteration over a specified range.", 3 | "authors": [ 4 | "samuelteixeiras", 5 | "ystromm" 6 | ], 7 | "contributors": [] 8 | } 9 | -------------------------------------------------------------------------------- /concepts/for-loops/links.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "url": "https://docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html", 4 | "description": "for-loop" 5 | } 6 | ] 7 | -------------------------------------------------------------------------------- /concepts/foreach-loops/.meta/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "blurb": "For-each loops allow for iteration over every element in a collection.", 3 | "authors": [ 4 | "samuelteixeiras", 5 | "ystromm" 6 | ], 7 | "contributors": [] 8 | } 9 | -------------------------------------------------------------------------------- /concepts/foreach-loops/links.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "url": "https://docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html", 4 | "description": "foreach-loop" 5 | } 6 | ] 7 | -------------------------------------------------------------------------------- /concepts/generic-types/.meta/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "blurb": "Generics types allow the compiler to enforce type restraints within a class or interface.", 3 | "authors": [ 4 | "jmrunkle" 5 | ], 6 | "contributors": [] 7 | } 8 | -------------------------------------------------------------------------------- /concepts/generic-types/links.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "url": "https://docs.oracle.com/javase/tutorial/java/generics/types.html", 4 | "description": "generics" 5 | } 6 | ] 7 | -------------------------------------------------------------------------------- /concepts/if-else-statements/.meta/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "blurb": "If-else statements can be used to perform conditional logic.", 3 | "authors": ["TalesDias", "sanderploegsma"], 4 | "contributors": [] 5 | } 6 | -------------------------------------------------------------------------------- /concepts/if-else-statements/links.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "url": "https://docs.oracle.com/javase/tutorial/java/nutsandbolts/if.html", 4 | "description": "Java tutorial on if-then-else statements" 5 | }, 6 | { 7 | "url": "https://www.javatpoint.com/java-if-else", 8 | "description": "Example if-then-else statements with flow charts" 9 | } 10 | ] 11 | -------------------------------------------------------------------------------- /concepts/inheritance/.meta/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "blurb": "Java supports single-parent inheritance for classes to extend and inherit behaviors.", 3 | "authors": [ 4 | "himanshugoyal1065" 5 | ], 6 | "contributors": [] 7 | } 8 | -------------------------------------------------------------------------------- /concepts/inheritance/links.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "url": "https://www.geeksforgeeks.org/access-modifiers-java/", 4 | "description": "access-modifiers" 5 | } 6 | ] 7 | -------------------------------------------------------------------------------- /concepts/interfaces/.meta/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "blurb": "Java interfaces allow decoupling between a class and its implementation.", 3 | "authors": [ 4 | "mikedamay" 5 | ], 6 | "contributors": [] 7 | } 8 | -------------------------------------------------------------------------------- /concepts/lists/.meta/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "blurb": "Lists are an ordered collection that allows duplicates.", 3 | "authors": [ 4 | "jmrunkle" 5 | ], 6 | "contributors": [] 7 | } 8 | -------------------------------------------------------------------------------- /concepts/lists/links.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "url": "https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/List.html", 4 | "description": "javadoc" 5 | }, 6 | { 7 | "url": "https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Collections.html", 8 | "description": "collections" 9 | } 10 | ] 11 | -------------------------------------------------------------------------------- /concepts/maps/.meta/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "blurb": "Maps are a collection of key value pairs.", 3 | "authors": [ 4 | "kahgoh" 5 | ], 6 | "contributors": [] 7 | } 8 | -------------------------------------------------------------------------------- /concepts/maps/links.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "url": "https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/Map.html", 4 | "description": "Interface Map documentation" 5 | }, 6 | { 7 | "url": "https://dev.java/learn/api/collections-framework/maps/", 8 | "description": "Using Maps to Store Key Value Pairs" 9 | } 10 | ] 11 | -------------------------------------------------------------------------------- /concepts/method-overloading/.meta/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "blurb": "Method overloading in Java allows multiple methods in a class to have the same name with different parameters, enhancing flexibility and readability.", 3 | "authors": [ 4 | "sougat818" 5 | ], 6 | "contributors": [] 7 | } 8 | -------------------------------------------------------------------------------- /concepts/nullability/.meta/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "blurb": "In Java, the null literal is used to denote the absence of a value.", 3 | "authors": [ 4 | "smcg468" 5 | ], 6 | "contributors": [] 7 | } -------------------------------------------------------------------------------- /concepts/numbers/.meta/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "blurb": "Java includes various numeric types including integer and floating-point numbers.", 3 | "authors": ["TalesDias"], 4 | "contributors": ["sanderploegsma"] 5 | } 6 | -------------------------------------------------------------------------------- /concepts/randomness/.meta/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "blurb": "Java includes utilities to generate random numbers.", 3 | "authors": ["sanderploegsma"], 4 | "contributors": [] 5 | } 6 | -------------------------------------------------------------------------------- /concepts/sets/.meta/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "blurb": "Sets are unordered collections that do not allow duplicates.", 3 | "authors": ["sanderploegsma"], 4 | "contributors": [] 5 | } 6 | -------------------------------------------------------------------------------- /concepts/sets/links.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "url": "https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/Set.html", 4 | "description": "java.util.Set API documentation" 5 | }, 6 | { 7 | "url": "https://www.baeldung.com/java-set-operations", 8 | "description": "Implementing set operations in Java" 9 | } 10 | ] 11 | -------------------------------------------------------------------------------- /concepts/strings/.meta/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "blurb": "Strings are an immutable sequence of Unicode characters.", 3 | "authors": [ 4 | "mirkoperillo" 5 | ], 6 | "contributors": [] 7 | } 8 | -------------------------------------------------------------------------------- /concepts/switch-statement/.meta/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "blurb": "Switch statements can switch between various execution paths.", 3 | "authors": [ 4 | "Azumix" 5 | ], 6 | "contributors": [ 7 | "josealonso" 8 | ] 9 | } 10 | -------------------------------------------------------------------------------- /concepts/ternary-operators/.meta/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "blurb": "The ternary operator is a compact if-else statement.", 3 | "authors": [ 4 | "TalesDias" 5 | ], 6 | "contributors": [] 7 | } 8 | -------------------------------------------------------------------------------- /concepts/ternary-operators/links.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "url": "https://www.programiz.com/java-programming/ternary-operator", 4 | "description": "ternary-operator-first" 5 | }, 6 | { 7 | "url": "https://www.baeldung.com/java-ternary-operator", 8 | "description": "ternary-operator-second" 9 | } 10 | ] 11 | -------------------------------------------------------------------------------- /docs/SNIPPET.txt: -------------------------------------------------------------------------------- 1 | class Greeter { 2 | 3 | String getGreeting() { 4 | return "Hello, World!"; 5 | } 6 | 7 | } 8 | -------------------------------------------------------------------------------- /exercises/concept/annalyns-infiltration/.docs/introduction.md.tpl: -------------------------------------------------------------------------------- 1 | # Introduction 2 | 3 | %{concept:booleans} 4 | -------------------------------------------------------------------------------- /exercises/concept/annalyns-infiltration/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/concept/annalyns-infiltration/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/concept/annalyns-infiltration/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/concept/bird-watcher/.docs/introduction.md.tpl: -------------------------------------------------------------------------------- 1 | # Introduction 2 | 3 | %{concept:arrays} 4 | -------------------------------------------------------------------------------- /exercises/concept/bird-watcher/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/concept/bird-watcher/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/concept/bird-watcher/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/concept/booking-up-for-beauty/.docs/introduction.md.tpl: -------------------------------------------------------------------------------- 1 | # Introduction 2 | 3 | %{concept:datetime} 4 | -------------------------------------------------------------------------------- /exercises/concept/booking-up-for-beauty/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/concept/booking-up-for-beauty/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/concept/booking-up-for-beauty/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/concept/calculator-conundrum/.docs/introduction.md.tpl: -------------------------------------------------------------------------------- 1 | # Introduction 2 | 3 | ## Exceptions 4 | 5 | %{concept:exceptions} 6 | -------------------------------------------------------------------------------- /exercises/concept/calculator-conundrum/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/concept/calculator-conundrum/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/concept/calculator-conundrum/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/concept/calculator-conundrum/src/main/java/CalculatorConundrum.java: -------------------------------------------------------------------------------- 1 | class CalculatorConundrum { 2 | public String calculate(int operand1, int operand2, String operation) { 3 | throw new UnsupportedOperationException("Please implement the CalculatorConundrum.calculate() method"); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /exercises/concept/captains-log/.docs/introduction.md.tpl: -------------------------------------------------------------------------------- 1 | # Introduction 2 | 3 | ## Randomness 4 | 5 | %{concept:randomness} 6 | -------------------------------------------------------------------------------- /exercises/concept/captains-log/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/concept/captains-log/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/concept/captains-log/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/concept/cars-assemble/.docs/introduction.md.tpl: -------------------------------------------------------------------------------- 1 | # Introduction 2 | 3 | %{concept:numbers} 4 | 5 | %{concept:if-else-statements} 6 | -------------------------------------------------------------------------------- /exercises/concept/cars-assemble/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/concept/cars-assemble/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/concept/cars-assemble/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/concept/football-match-reports/.docs/introduction.md.tpl: -------------------------------------------------------------------------------- 1 | # Introduction 2 | 3 | %{concept:switch-statement} 4 | -------------------------------------------------------------------------------- /exercises/concept/football-match-reports/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/concept/football-match-reports/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/concept/football-match-reports/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/concept/football-match-reports/src/main/java/FootballMatchReports.java: -------------------------------------------------------------------------------- 1 | public class FootballMatchReports { 2 | public static String onField(int shirtNum) { 3 | throw new UnsupportedOperationException("Please implement the (static) FootballMatchReports.onField() method"); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /exercises/concept/gotta-snatch-em-all/.docs/introduction.md.tpl: -------------------------------------------------------------------------------- 1 | # Introduction 2 | 3 | %{concept:sets} 4 | -------------------------------------------------------------------------------- /exercises/concept/gotta-snatch-em-all/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/concept/gotta-snatch-em-all/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/concept/gotta-snatch-em-all/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/concept/international-calling-connoisseur/.docs/introduction.md.tpl: -------------------------------------------------------------------------------- 1 | # Introduction 2 | 3 | %{concept:maps} 4 | -------------------------------------------------------------------------------- /exercises/concept/international-calling-connoisseur/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/concept/international-calling-connoisseur/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/concept/international-calling-connoisseur/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/concept/jedliks-toy-car/.docs/introduction.md.tpl: -------------------------------------------------------------------------------- 1 | # Introduction 2 | 3 | %{concept:classes} 4 | -------------------------------------------------------------------------------- /exercises/concept/jedliks-toy-car/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/concept/jedliks-toy-car/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/concept/jedliks-toy-car/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/concept/karls-languages/.docs/introduction.md.tpl: -------------------------------------------------------------------------------- 1 | # Introduction 2 | 3 | %{concept:generic-types} 4 | 5 | %{concept:lists} 6 | -------------------------------------------------------------------------------- /exercises/concept/karls-languages/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/concept/karls-languages/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/concept/karls-languages/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/concept/lasagna/.docs/introduction.md.tpl: -------------------------------------------------------------------------------- 1 | # Introduction 2 | 3 | %{concept:basics} 4 | -------------------------------------------------------------------------------- /exercises/concept/lasagna/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/concept/lasagna/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/concept/lasagna/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/concept/lasagna/src/main/java/Lasagna.java: -------------------------------------------------------------------------------- 1 | public class Lasagna { 2 | // TODO: define the 'expectedMinutesInOven()' method 3 | 4 | // TODO: define the 'remainingMinutesInOven()' method 5 | 6 | // TODO: define the 'preparationTimeInMinutes()' method 7 | 8 | // TODO: define the 'totalTimeInMinutes()' method 9 | } 10 | -------------------------------------------------------------------------------- /exercises/concept/log-levels/.docs/introduction.md.tpl: -------------------------------------------------------------------------------- 1 | # Introduction 2 | 3 | %{concept:strings} 4 | -------------------------------------------------------------------------------- /exercises/concept/log-levels/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/concept/log-levels/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/concept/log-levels/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/concept/logs-logs-logs/.docs/introduction.md.tpl: -------------------------------------------------------------------------------- 1 | # Introduction 2 | 3 | %{concept:enums} 4 | -------------------------------------------------------------------------------- /exercises/concept/logs-logs-logs/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/concept/logs-logs-logs/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/concept/logs-logs-logs/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/concept/logs-logs-logs/src/main/java/LogLevel.java: -------------------------------------------------------------------------------- 1 | public enum LogLevel { 2 | // TODO: define members for each log level 3 | } 4 | -------------------------------------------------------------------------------- /exercises/concept/need-for-speed/.docs/introduction.md.tpl: -------------------------------------------------------------------------------- 1 | # Introduction 2 | 3 | %{concept:constructors} 4 | -------------------------------------------------------------------------------- /exercises/concept/need-for-speed/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/concept/need-for-speed/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/concept/need-for-speed/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/concept/remote-control-competition/.docs/introduction.md.tpl: -------------------------------------------------------------------------------- 1 | # Introduction 2 | 3 | %{concept:interfaces} 4 | -------------------------------------------------------------------------------- /exercises/concept/remote-control-competition/.meta/src/reference/java/RemoteControlCar.java: -------------------------------------------------------------------------------- 1 | public interface RemoteControlCar { 2 | void drive(); 3 | int getDistanceTravelled(); 4 | } 5 | -------------------------------------------------------------------------------- /exercises/concept/remote-control-competition/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/concept/remote-control-competition/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/concept/remote-control-competition/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/concept/remote-control-competition/src/main/java/RemoteControlCar.java: -------------------------------------------------------------------------------- 1 | public interface RemoteControlCar { 2 | // TODO implement the RemoteControlCar interface 3 | } 4 | -------------------------------------------------------------------------------- /exercises/concept/salary-calculator/.docs/introduction.md.tpl: -------------------------------------------------------------------------------- 1 | # Introduction 2 | 3 | %{concept:ternary-operators} 4 | -------------------------------------------------------------------------------- /exercises/concept/salary-calculator/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/concept/salary-calculator/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/concept/salary-calculator/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/concept/secrets/.docs/introduction.md.tpl: -------------------------------------------------------------------------------- 1 | # Introduction 2 | 3 | %{concept:bit-manipulation} 4 | -------------------------------------------------------------------------------- /exercises/concept/secrets/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/concept/secrets/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/concept/secrets/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/concept/squeaky-clean/.docs/introduction.md.tpl: -------------------------------------------------------------------------------- 1 | # Introduction 2 | 3 | %{concept:chars} 4 | -------------------------------------------------------------------------------- /exercises/concept/squeaky-clean/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/concept/squeaky-clean/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/concept/squeaky-clean/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/concept/squeaky-clean/src/main/java/SqueakyClean.java: -------------------------------------------------------------------------------- 1 | class SqueakyClean { 2 | static String clean(String identifier) { 3 | throw new UnsupportedOperationException("Please implement the (static) SqueakyClean.clean() method"); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /exercises/concept/tim-from-marketing/.docs/introduction.md.tpl: -------------------------------------------------------------------------------- 1 | # Introduction 2 | 3 | ## Nullability 4 | 5 | %{concept:nullability} -------------------------------------------------------------------------------- /exercises/concept/tim-from-marketing/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/concept/tim-from-marketing/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/concept/tim-from-marketing/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/concept/tim-from-marketing/src/main/java/Badge.java: -------------------------------------------------------------------------------- 1 | class Badge { 2 | public String print(Integer id, String name, String department) { 3 | throw new UnsupportedOperationException("Please implement the Badge.print() method"); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /exercises/concept/wizards-and-warriors-2/.docs/introduction.md.tpl: -------------------------------------------------------------------------------- 1 | # Introduction 2 | 3 | %{concept:method-overloading} 4 | -------------------------------------------------------------------------------- /exercises/concept/wizards-and-warriors-2/.meta/src/reference/java/TravelMethod.java: -------------------------------------------------------------------------------- 1 | public enum TravelMethod { 2 | WALKING, 3 | HORSEBACK 4 | } 5 | -------------------------------------------------------------------------------- /exercises/concept/wizards-and-warriors-2/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/concept/wizards-and-warriors-2/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/concept/wizards-and-warriors-2/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/concept/wizards-and-warriors-2/src/main/java/TravelMethod.java: -------------------------------------------------------------------------------- 1 | public enum TravelMethod { 2 | WALKING, 3 | HORSEBACK 4 | } 5 | -------------------------------------------------------------------------------- /exercises/concept/wizards-and-warriors/.docs/introduction.md.tpl: -------------------------------------------------------------------------------- 1 | # Introduction 2 | 3 | %{concept:inheritance} 4 | -------------------------------------------------------------------------------- /exercises/concept/wizards-and-warriors/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/concept/wizards-and-warriors/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/concept/wizards-and-warriors/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/concept/wizards-and-warriors/src/main/java/Fighter.java: -------------------------------------------------------------------------------- 1 | class Fighter { 2 | 3 | boolean isVulnerable() { 4 | return true; 5 | } 6 | 7 | int getDamagePoints(Fighter fighter) { 8 | return 1; 9 | } 10 | } 11 | 12 | // TODO: define the Warrior class 13 | 14 | // TODO: define the Wizard class 15 | -------------------------------------------------------------------------------- /exercises/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /exercises/practice/accumulate/src/main/java/Accumulate.java: -------------------------------------------------------------------------------- 1 | import java.util.List; 2 | import java.util.function.UnaryOperator; 3 | 4 | public class Accumulate { 5 | 6 | public static List accumulate(List list, UnaryOperator operator) { 7 | throw new UnsupportedOperationException("Please implement the Accumulate.accumulate() method."); 8 | } 9 | 10 | } 11 | -------------------------------------------------------------------------------- /exercises/practice/acronym/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/acronym/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/acronym/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/affine-cipher/.docs/instructions.append.md: -------------------------------------------------------------------------------- 1 | # Instructions append 2 | 3 | Please notice that the `%` operator is not equivalent to the one described in the problem description 4 | ([see Wikipedia entry for Modulo operation](https://en.wikipedia.org/wiki/Modulo_operation)). 5 | -------------------------------------------------------------------------------- /exercises/practice/affine-cipher/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/affine-cipher/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/affine-cipher/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/all-your-base/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/all-your-base/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/all-your-base/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/allergies/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/allergies/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/allergies/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/alphametics/.meta/src/reference/java/UnsolvablePuzzleException.java: -------------------------------------------------------------------------------- 1 | class UnsolvablePuzzleException extends Exception { 2 | } 3 | -------------------------------------------------------------------------------- /exercises/practice/alphametics/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/alphametics/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/alphametics/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/alphametics/src/main/java/UnsolvablePuzzleException.java: -------------------------------------------------------------------------------- 1 | class UnsolvablePuzzleException extends Exception { 2 | } 3 | -------------------------------------------------------------------------------- /exercises/practice/anagram/.docs/instructions.append.md: -------------------------------------------------------------------------------- 1 | # Instructions Append 2 | 3 | The anagrams can be returned in any order. 4 | -------------------------------------------------------------------------------- /exercises/practice/anagram/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/anagram/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/anagram/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/armstrong-numbers/.docs/instructions.append.md: -------------------------------------------------------------------------------- 1 | # Instructions append 2 | 3 | For more help on how to solve this exercise, please refer to the tutorial provided as part of the hello world exercise: 4 | [instructions.append.md](https://github.com/exercism/java/blob/main/exercises/practice/hello-world/.docs/instructions.append.md#tutorial) 5 | -------------------------------------------------------------------------------- /exercises/practice/armstrong-numbers/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/armstrong-numbers/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/armstrong-numbers/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/armstrong-numbers/src/main/java/ArmstrongNumbers.java: -------------------------------------------------------------------------------- 1 | class ArmstrongNumbers { 2 | 3 | boolean isArmstrongNumber(int numberToCheck) { 4 | 5 | throw new UnsupportedOperationException("Delete this statement and write your own implementation."); 6 | 7 | } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /exercises/practice/atbash-cipher/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/atbash-cipher/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/atbash-cipher/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/bank-account/.meta/src/reference/java/BankAccountActionInvalidException.java: -------------------------------------------------------------------------------- 1 | class BankAccountActionInvalidException extends Exception { 2 | 3 | BankAccountActionInvalidException(String message) { 4 | super(message); 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /exercises/practice/bank-account/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/bank-account/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/bank-account/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/bank-account/src/main/java/BankAccountActionInvalidException.java: -------------------------------------------------------------------------------- 1 | public class BankAccountActionInvalidException extends Exception { 2 | 3 | public BankAccountActionInvalidException(String message) { 4 | super(message); 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /exercises/practice/binary-search-tree/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/binary-search-tree/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/binary-search-tree/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/binary-search/.meta/src/reference/java/ValueNotFoundException.java: -------------------------------------------------------------------------------- 1 | class ValueNotFoundException extends Exception { 2 | 3 | ValueNotFoundException(String message) { 4 | super(message); 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /exercises/practice/binary-search/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/binary-search/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/binary-search/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/binary-search/src/main/java/ValueNotFoundException.java: -------------------------------------------------------------------------------- 1 | public class ValueNotFoundException extends Exception { 2 | 3 | ValueNotFoundException(String message) { 4 | super(message); 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /exercises/practice/binary/src/main/java/Binary.java: -------------------------------------------------------------------------------- 1 | public class Binary { 2 | 3 | public Binary(String input) { 4 | throw new UnsupportedOperationException("Please implement the Binary constructor."); 5 | } 6 | 7 | public int getDecimal() { 8 | throw new UnsupportedOperationException("Please implement the Binary.getDecimal() method."); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /exercises/practice/bob/.approaches/answer-array/snippet.txt: -------------------------------------------------------------------------------- 1 | public String hey(String message) { 2 | var speech = message.trim(); 3 | if (speech.isEmpty()) 4 | return "Fine. Be that way!"; 5 | var questioning = speech.endsWith("?") ? 1 : 0; 6 | var shouting = isShout.test(speech) ? 2 : 0; 7 | return answers[questioning + shouting]; 8 | } 9 | -------------------------------------------------------------------------------- /exercises/practice/bob/.approaches/method-based-if-statements/snippet.txt: -------------------------------------------------------------------------------- 1 | if (isSilent(inputTrimmed)) 2 | return "Fine. Be that way!"; 3 | if (isShouting(inputTrimmed) && isQuestioning(inputTrimmed)) 4 | return "Calm down, I know what I'm doing!"; 5 | if (isShouting(inputTrimmed)) 6 | return "Whoa, chill out!"; 7 | if (isQuestioning(inputTrimmed)) 8 | return "Sure."; -------------------------------------------------------------------------------- /exercises/practice/bob/.approaches/variable-based-if-statements/snippet.txt: -------------------------------------------------------------------------------- 1 | if (questioning) { 2 | if (shouting) 3 | return "Calm down, I know what I'm doing!"; 4 | return "Sure."; 5 | } 6 | if (shouting) 7 | return "Whoa, chill out!"; 8 | return "Whatever."; 9 | -------------------------------------------------------------------------------- /exercises/practice/bob/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/bob/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/bob/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/bob/src/main/java/Bob.java: -------------------------------------------------------------------------------- 1 | class Bob { 2 | 3 | String hey(String input) { 4 | throw new UnsupportedOperationException("Delete this statement and write your own implementation."); 5 | } 6 | 7 | } -------------------------------------------------------------------------------- /exercises/practice/book-store/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/book-store/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/book-store/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/book-store/src/main/java/BookStore.java: -------------------------------------------------------------------------------- 1 | import java.util.List; 2 | 3 | class BookStore { 4 | 5 | double calculateBasketCost(List books) { 6 | throw new UnsupportedOperationException("Delete this statement and write your own implementation."); 7 | } 8 | 9 | } -------------------------------------------------------------------------------- /exercises/practice/bottle-song/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/bottle-song/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/bottle-song/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/bottle-song/src/main/java/BottleSong.java: -------------------------------------------------------------------------------- 1 | class BottleSong { 2 | 3 | String recite(int startBottles, int takeDown) { 4 | throw new UnsupportedOperationException("Delete this statement and write your own implementation."); 5 | } 6 | 7 | } -------------------------------------------------------------------------------- /exercises/practice/bowling/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/bowling/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/bowling/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/change/.approaches/dynamic-programming/snippet.txt: -------------------------------------------------------------------------------- 1 | class ChangeCalculator { 2 | private final List currencyCoins; 3 | 4 | ChangeCalculator(List currencyCoins) { 5 | this.currencyCoins = currencyCoins; 6 | } 7 | // computeMostEfficientChange method 8 | } 9 | -------------------------------------------------------------------------------- /exercises/practice/change/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/change/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/change/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/circular-buffer/.meta/src/reference/java/BufferIOException.java: -------------------------------------------------------------------------------- 1 | class BufferIOException extends Exception { 2 | 3 | BufferIOException(String message) { 4 | super(message); 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /exercises/practice/circular-buffer/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/circular-buffer/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/circular-buffer/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/circular-buffer/src/main/java/BufferIOException.java: -------------------------------------------------------------------------------- 1 | class BufferIOException extends Exception { 2 | 3 | BufferIOException(String message) { 4 | super(message); 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /exercises/practice/clock/.docs/instructions.md: -------------------------------------------------------------------------------- 1 | # Instructions 2 | 3 | Implement a clock that handles times without dates. 4 | 5 | You should be able to add and subtract minutes to it. 6 | 7 | Two clocks that represent the same time should be equal to each other. 8 | -------------------------------------------------------------------------------- /exercises/practice/clock/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/clock/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/clock/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/collatz-conjecture/.approaches/intstream-iterate/snippet.txt: -------------------------------------------------------------------------------- 1 | long computeStepCount(int start) { 2 | if (start < 1) { 3 | throw new IllegalArgumentException("Only positive integers are allowed"); 4 | } 5 | 6 | return IntStream.iterate(start, num -> num != 1, num -> (num & 1) == 1 ? 3 * num + 1 : num >> 1).count(); 7 | } 8 | -------------------------------------------------------------------------------- /exercises/practice/collatz-conjecture/.approaches/while-loop/snippet.txt: -------------------------------------------------------------------------------- 1 | while (start > 1) { 2 | if ((start & 1) == 1) { 3 | start = start * 3 + 1; 4 | } else { 5 | start >>= 1; 6 | } 7 | steps++; 8 | } 9 | -------------------------------------------------------------------------------- /exercises/practice/collatz-conjecture/.docs/instructions.md: -------------------------------------------------------------------------------- 1 | # Instructions 2 | 3 | Given a positive integer, return the number of steps it takes to reach 1 according to the rules of the Collatz Conjecture. 4 | -------------------------------------------------------------------------------- /exercises/practice/collatz-conjecture/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/collatz-conjecture/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/collatz-conjecture/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/collatz-conjecture/src/main/java/CollatzCalculator.java: -------------------------------------------------------------------------------- 1 | class CollatzCalculator { 2 | 3 | int computeStepCount(int start) { 4 | throw new UnsupportedOperationException("Delete this statement and write your own implementation."); 5 | } 6 | 7 | } 8 | -------------------------------------------------------------------------------- /exercises/practice/complex-numbers/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/complex-numbers/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/complex-numbers/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/connect/.meta/src/reference/java/Winner.java: -------------------------------------------------------------------------------- 1 | enum Winner { 2 | PLAYER_O, 3 | PLAYER_X, 4 | NONE 5 | } 6 | -------------------------------------------------------------------------------- /exercises/practice/connect/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/connect/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/connect/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/connect/src/main/java/Connect.java: -------------------------------------------------------------------------------- 1 | class Connect { 2 | 3 | public Connect(String[] board) { 4 | throw new UnsupportedOperationException("Implement this function"); 5 | } 6 | 7 | public Winner computeWinner() { 8 | throw new UnsupportedOperationException("Implement this function"); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /exercises/practice/connect/src/main/java/Winner.java: -------------------------------------------------------------------------------- 1 | public enum Winner { 2 | PLAYER_O, 3 | PLAYER_X, 4 | NONE 5 | } 6 | -------------------------------------------------------------------------------- /exercises/practice/crypto-square/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/crypto-square/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/crypto-square/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/custom-set/.docs/instructions.md: -------------------------------------------------------------------------------- 1 | # Instructions 2 | 3 | Create a custom set type. 4 | 5 | Sometimes it is necessary to define a custom data structure of some type, like a set. 6 | In this exercise you will define your own set. 7 | How it works internally doesn't matter, as long as it behaves like a set of unique elements. 8 | -------------------------------------------------------------------------------- /exercises/practice/custom-set/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/custom-set/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/custom-set/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/darts/.approaches/doublepredicate/snippet.txt: -------------------------------------------------------------------------------- 1 | if (thrownOutside.test(outerRing)) 2 | return 0; 3 | if (thrownOutside.test(middleRing)) 4 | return 1; 5 | if (thrownOutside.test(innerRing)) 6 | return 5; 7 | return 10; 8 | -------------------------------------------------------------------------------- /exercises/practice/darts/.approaches/if-statements/snippet.txt: -------------------------------------------------------------------------------- 1 | if (radius > 10) 2 | return 0; 3 | if (radius > 5) 4 | return 1; 5 | if (radius > 1) 6 | return 5; 7 | return 10; 8 | -------------------------------------------------------------------------------- /exercises/practice/darts/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/darts/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/darts/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/darts/src/main/java/Darts.java: -------------------------------------------------------------------------------- 1 | class Darts { 2 | int score(double xOfDart, double yOfDart) { 3 | throw new UnsupportedOperationException("Delete this statement and write your own implementation."); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /exercises/practice/diamond/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/diamond/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/diamond/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/diamond/src/main/java/DiamondPrinter.java: -------------------------------------------------------------------------------- 1 | import java.util.List; 2 | 3 | class DiamondPrinter { 4 | 5 | List printToList(char a) { 6 | throw new UnsupportedOperationException("Delete this statement and write your own implementation."); 7 | } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /exercises/practice/difference-of-squares/.approaches/formula/snippet.txt: -------------------------------------------------------------------------------- 1 | int computeSquareOfSumTo(int input) { 2 | int sum = (input * (input + 1)) / 2; 3 | return sum * sum; 4 | } 5 | 6 | int computeSumOfSquaresTo(int input) { 7 | return (input * (input + 1) * ((input * 2) + 1)) / 6; 8 | } 9 | -------------------------------------------------------------------------------- /exercises/practice/difference-of-squares/.approaches/intstream/snippet.txt: -------------------------------------------------------------------------------- 1 | int computeSquareOfSumTo(int input) { 2 | int sum = IntStream.rangeClosed(1, input).sum(); 3 | return sum * sum; 4 | } 5 | 6 | int computeSumOfSquaresTo(int input) { 7 | return IntStream.rangeClosed(1, input).map(num -> num * num).sum(); 8 | } 9 | -------------------------------------------------------------------------------- /exercises/practice/difference-of-squares/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/difference-of-squares/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/difference-of-squares/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/diffie-hellman/.docs/instructions.append.md: -------------------------------------------------------------------------------- 1 | # Hints 2 | This exercise requires you to perform calculations on large numbers. To correctly represent large numbers, the 3 | [BigInteger](https://docs.oracle.com/javase/8/docs/api/java/math/BigInteger.html) class is used. 4 | -------------------------------------------------------------------------------- /exercises/practice/dnd-character/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/dnd-character/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/dnd-character/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/dominoes/.meta/src/reference/java/ChainNotFoundException.java: -------------------------------------------------------------------------------- 1 | class ChainNotFoundException extends Exception { 2 | public ChainNotFoundException(String message) { 3 | super(message); 4 | } 5 | } 6 | 7 | -------------------------------------------------------------------------------- /exercises/practice/dominoes/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/dominoes/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/dominoes/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/dominoes/src/main/java/ChainNotFoundException.java: -------------------------------------------------------------------------------- 1 | class ChainNotFoundException extends Exception { 2 | public ChainNotFoundException(String message) { 3 | super(message); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /exercises/practice/dominoes/src/main/java/Dominoes.java: -------------------------------------------------------------------------------- 1 | import java.util.List; 2 | 3 | class Dominoes { 4 | 5 | List formChain(List inputDominoes) throws ChainNotFoundException { 6 | throw new UnsupportedOperationException("Delete this statement and write your own implementation."); 7 | } 8 | 9 | } -------------------------------------------------------------------------------- /exercises/practice/dot-dsl/.docs/instructions.append.md: -------------------------------------------------------------------------------- 1 | # Instructions append 2 | 3 | The graph is represented in the DSL by the `Graph` class. 4 | The implementation for the nodes and edges (represented by the `Node` and `Edge` classes respectively) are provided. 5 | 6 | For more details on the DSL's expected design, take a look at the test cases in `GraphTest.java`. 7 | -------------------------------------------------------------------------------- /exercises/practice/dot-dsl/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/dot-dsl/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/dot-dsl/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/eliuds-eggs/.docs/instructions.md: -------------------------------------------------------------------------------- 1 | # Instructions 2 | 3 | Your task is to count the number of 1 bits in the binary representation of a number. 4 | 5 | ## Restrictions 6 | 7 | Keep your hands off that bit-count functionality provided by your standard library! 8 | Solve this one yourself using other basic tools instead. 9 | -------------------------------------------------------------------------------- /exercises/practice/eliuds-eggs/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/eliuds-eggs/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/eliuds-eggs/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/eliuds-eggs/src/main/java/EliudsEggs.java: -------------------------------------------------------------------------------- 1 | public class EliudsEggs { 2 | public int eggCount(int number) { 3 | throw new UnsupportedOperationException("Delete this statement and write your own implementation."); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /exercises/practice/error-handling/.meta/src/reference/java/CustomCheckedException.java: -------------------------------------------------------------------------------- 1 | class CustomCheckedException extends Exception { 2 | 3 | CustomCheckedException() { 4 | super(); 5 | } 6 | 7 | CustomCheckedException(String message) { 8 | super(message); 9 | } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /exercises/practice/error-handling/.meta/src/reference/java/CustomUncheckedException.java: -------------------------------------------------------------------------------- 1 | class CustomUncheckedException extends RuntimeException { 2 | 3 | CustomUncheckedException() { 4 | super(); 5 | } 6 | 7 | CustomUncheckedException(String message) { 8 | super(message); 9 | } 10 | 11 | } 12 | -------------------------------------------------------------------------------- /exercises/practice/error-handling/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/error-handling/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/error-handling/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/etl/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/etl/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/etl/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/etl/src/main/java/Etl.java: -------------------------------------------------------------------------------- 1 | import java.util.List; 2 | import java.util.Map; 3 | 4 | class Etl { 5 | Map transform(Map> old) { 6 | throw new UnsupportedOperationException("Delete this statement and write your own implementation."); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /exercises/practice/flatten-array/.docs/instructions.append.md: -------------------------------------------------------------------------------- 1 | # Instructions append 2 | 3 | For the Java track, the input will be provided as a `List` instead of an array, and the output should also be a `List`. 4 | -------------------------------------------------------------------------------- /exercises/practice/flatten-array/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/flatten-array/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/flatten-array/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/flatten-array/src/main/java/Flattener.java: -------------------------------------------------------------------------------- 1 | import java.util.List; 2 | 3 | class Flattener { 4 | 5 | List flatten(List list) { 6 | throw new UnsupportedOperationException("Delete this statement and write your own implementation."); 7 | } 8 | 9 | } -------------------------------------------------------------------------------- /exercises/practice/flower-field/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/flower-field/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/flower-field/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/food-chain/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/food-chain/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/food-chain/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/forth/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/forth/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/forth/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/forth/src/main/java/ForthEvaluator.java: -------------------------------------------------------------------------------- 1 | import java.util.List; 2 | 3 | class ForthEvaluator { 4 | List evaluateProgram(List input) { 5 | throw new UnsupportedOperationException("Please implement the evaluateProgram method"); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /exercises/practice/game-of-life/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/game-of-life/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/game-of-life/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/game-of-life/src/main/java/GameOfLife.java: -------------------------------------------------------------------------------- 1 | class GameOfLife { 2 | public int[][] tick(int[][] matrix){ 3 | throw new UnsupportedOperationException("Delete this statement and write your own implementation."); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /exercises/practice/gigasecond/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/gigasecond/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/gigasecond/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/go-counting/.meta/src/reference/java/Player.java: -------------------------------------------------------------------------------- 1 | enum Player { 2 | NONE, BLACK, WHITE 3 | } 4 | -------------------------------------------------------------------------------- /exercises/practice/go-counting/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/go-counting/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/go-counting/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/go-counting/src/main/java/Player.java: -------------------------------------------------------------------------------- 1 | enum Player { 2 | NONE, BLACK, WHITE 3 | } 4 | -------------------------------------------------------------------------------- /exercises/practice/grade-school/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/grade-school/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/grade-school/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/grains/.approaches/bit-shifting/snippet.txt: -------------------------------------------------------------------------------- 1 | BigInteger grainsOnSquare(final int square) { 2 | if (square < 1 || square > 64) { 3 | throw new IllegalArgumentException("square must be between 1 and 64"); 4 | } 5 | return BigInteger.ONE.shiftLeft(square - 1); 6 | } 7 | -------------------------------------------------------------------------------- /exercises/practice/grains/.approaches/pow/snippet.txt: -------------------------------------------------------------------------------- 1 | BigInteger grainsOnSquare(final int square) { 2 | if ((square <= 0) || (square >= 65)) { 3 | throw new IllegalArgumentException("square must be between 1 and 64"); 4 | } 5 | return BigInteger.valueOf(2).pow(square - 1); 6 | } 7 | -------------------------------------------------------------------------------- /exercises/practice/grains/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/grains/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/grains/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/grep/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/grep/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/grep/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/grep/src/main/java/GrepTool.java: -------------------------------------------------------------------------------- 1 | import java.util.List; 2 | 3 | class GrepTool { 4 | 5 | String grep(String pattern, List flags, List files) { 6 | throw new UnsupportedOperationException("Delete this statement and write your own implementation."); 7 | } 8 | 9 | } -------------------------------------------------------------------------------- /exercises/practice/hamming/.approaches/for-loop/snippet.txt: -------------------------------------------------------------------------------- 1 | for (int i = 0; i < leftStrand.length(); i++){ 2 | if (leftStrand.charAt(i) != rightStrand.charAt(i)){ 3 | difference++; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /exercises/practice/hamming/.approaches/intstream-filter-count/snippet.txt: -------------------------------------------------------------------------------- 1 | difference = IntStream 2 | .range(0, leftStrand.length()) 3 | .filter(i -> leftStrand.charAt(i) != rightStrand.charAt(i)) 4 | .count(); 5 | -------------------------------------------------------------------------------- /exercises/practice/hamming/.approaches/intstream-map-sum/snippet.txt: -------------------------------------------------------------------------------- 1 | difference = IntStream 2 | .range(0, leftStrand.length()) 3 | .map(i -> leftStrand.charAt(i) != rightStrand.charAt(i) ? 1 : 0) 4 | .sum(); 5 | -------------------------------------------------------------------------------- /exercises/practice/hamming/.approaches/intstream-reduce/snippet.txt: -------------------------------------------------------------------------------- 1 | difference = IntStream.range(0, leftStrand.length()).reduce(0, 2 | (hamcount, index) -> hamcount + (leftStrand.charAt(index) != rightStrand.charAt(index) ? 1 : 0)); 3 | -------------------------------------------------------------------------------- /exercises/practice/hamming/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/hamming/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/hamming/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/hangman/.meta/src/reference/java/Part.java: -------------------------------------------------------------------------------- 1 | enum Part { 2 | HEAD, 3 | BODY, 4 | LEFT_ARM, 5 | RIGHT_ARM, 6 | LEFT_LEG, 7 | RIGHT_LEG 8 | } 9 | -------------------------------------------------------------------------------- /exercises/practice/hangman/.meta/src/reference/java/Status.java: -------------------------------------------------------------------------------- 1 | enum Status { 2 | PLAYING, 3 | WIN, 4 | LOSS 5 | } 6 | -------------------------------------------------------------------------------- /exercises/practice/hangman/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/hangman/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/hangman/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/hangman/src/main/java/Hangman.java: -------------------------------------------------------------------------------- 1 | import io.reactivex.Observable; 2 | 3 | class Hangman { 4 | 5 | Observable play(Observable words, Observable letters) { 6 | throw new UnsupportedOperationException("Delete this statement and write your own implementation."); 7 | } 8 | 9 | } -------------------------------------------------------------------------------- /exercises/practice/hangman/src/main/java/Part.java: -------------------------------------------------------------------------------- 1 | enum Part { 2 | HEAD, 3 | BODY, 4 | LEFT_ARM, 5 | RIGHT_ARM, 6 | LEFT_LEG, 7 | RIGHT_LEG 8 | } 9 | -------------------------------------------------------------------------------- /exercises/practice/hangman/src/main/java/Status.java: -------------------------------------------------------------------------------- 1 | enum Status { 2 | PLAYING, 3 | WIN, 4 | LOSS 5 | } 6 | -------------------------------------------------------------------------------- /exercises/practice/hello-world/.meta/src/reference/java/Greeter.java: -------------------------------------------------------------------------------- 1 | class Greeter { 2 | 3 | String getGreeting() { 4 | return "Hello, World!"; 5 | } 6 | 7 | } 8 | -------------------------------------------------------------------------------- /exercises/practice/hello-world/.meta/tests.toml: -------------------------------------------------------------------------------- 1 | # This is an auto-generated file. Regular comments will be removed when this 2 | # file is regenerated. Regenerating will not touch any manually added keys, 3 | # so comments can be added in a "comment" key. 4 | 5 | [af9ffe10-dc13-42d8-a742-e7bdafac449d] 6 | description = "Say Hi!" 7 | -------------------------------------------------------------------------------- /exercises/practice/hello-world/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/hello-world/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/hello-world/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/hello-world/src/main/java/Greeter.java: -------------------------------------------------------------------------------- 1 | class Greeter { 2 | 3 | String getGreeting() { 4 | return "Goodbye, Mars!"; 5 | } 6 | 7 | } 8 | -------------------------------------------------------------------------------- /exercises/practice/hello-world/src/test/java/GreeterTest.java: -------------------------------------------------------------------------------- 1 | import org.junit.jupiter.api.Test; 2 | 3 | import static org.assertj.core.api.Assertions.assertThat; 4 | 5 | public class GreeterTest { 6 | 7 | @Test 8 | public void testThatGreeterReturnsTheCorrectGreeting() { 9 | assertThat(new Greeter().getGreeting()).isEqualTo("Hello, World!"); 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /exercises/practice/hexadecimal/src/main/java/Hexadecimal.java: -------------------------------------------------------------------------------- 1 | public class Hexadecimal { 2 | 3 | public static int toDecimal(String input) { 4 | throw new UnsupportedOperationException("Please implement the Hexadecimal.toDecimal() method."); 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /exercises/practice/high-scores/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/high-scores/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/high-scores/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/house/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/house/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/house/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/isbn-verifier/.approaches/chars-foreach/snippet.txt: -------------------------------------------------------------------------------- 1 | if (Character.isDigit(codePoint)) { 2 | sum += (codePoint - '0') * (10 - pos); 3 | pos++; 4 | return; 5 | } 6 | if (codePoint == '-') 7 | return; 8 | -------------------------------------------------------------------------------- /exercises/practice/isbn-verifier/.approaches/for-each/snippet.txt: -------------------------------------------------------------------------------- 1 | for (var chr: stringToVerify.toCharArray()) { 2 | if (Character.isDigit(chr)) { 3 | sum += (chr - '0') * (10 - pos); 4 | pos++; 5 | continue; 6 | } 7 | if (chr == '-') 8 | continue; 9 | -------------------------------------------------------------------------------- /exercises/practice/isbn-verifier/.approaches/map-sum/snippet.txt: -------------------------------------------------------------------------------- 1 | return scrubbed.matches("^([0-9]{10}|[0-9]{9}X)$") && 2 | IntStream.range(0, scrubbed.length()) 3 | .map(pos -> { 4 | var chr = scrubbed.charAt(pos); 5 | return (chr != 'X' ? chr - '0' : 10) * (10 - pos); 6 | }) 7 | .sum() % 11 == 0; 8 | -------------------------------------------------------------------------------- /exercises/practice/isbn-verifier/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/isbn-verifier/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/isbn-verifier/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/isbn-verifier/src/main/java/IsbnVerifier.java: -------------------------------------------------------------------------------- 1 | class IsbnVerifier { 2 | 3 | boolean isValid(String stringToVerify) { 4 | throw new UnsupportedOperationException("Delete this statement and write your own implementation."); 5 | } 6 | 7 | } 8 | -------------------------------------------------------------------------------- /exercises/practice/isogram/.approaches/filter-map-allmatch/snippet.txt: -------------------------------------------------------------------------------- 1 | boolean isIsogram(final String phrase) { 2 | return phrase.chars() 3 | .filter(Character::isLetter) 4 | .map(Character::toLowerCase) 5 | .allMatch(new HashSet < > ()::add); 6 | } 7 | -------------------------------------------------------------------------------- /exercises/practice/isogram/.approaches/filter-maptoobj-distinct/snippet.txt: -------------------------------------------------------------------------------- 1 | public boolean isIsogram(String input) { 2 | final var scrubbed = input.chars() 3 | .filter(Character::isLetter) 4 | .mapToObj(Character::toLowerCase) 5 | .collect(Collectors.toList()); 6 | 7 | return scrubbed.size() == scrubbed.stream().distinct().count(); 8 | } 9 | -------------------------------------------------------------------------------- /exercises/practice/isogram/.docs/instructions.append.md: -------------------------------------------------------------------------------- 1 | # Instructions append 2 | -------------------------------------------------------------------------------- /exercises/practice/isogram/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/isogram/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/isogram/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/isogram/src/main/java/IsogramChecker.java: -------------------------------------------------------------------------------- 1 | class IsogramChecker { 2 | 3 | boolean isIsogram(String phrase) { 4 | throw new UnsupportedOperationException("Delete this statement and write your own implementation."); 5 | } 6 | 7 | } 8 | -------------------------------------------------------------------------------- /exercises/practice/killer-sudoku-helper/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/killer-sudoku-helper/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/killer-sudoku-helper/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/kindergarten-garden/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/kindergarten-garden/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/kindergarten-garden/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/knapsack/.approaches/recursive/snippet.txt: -------------------------------------------------------------------------------- 1 | int maximumValue(int maxWeight, List items) { 2 | int valueWithout = maximumValue(maxWeight, remainingItems); 3 | int valueWith = maximumValue(maxWeight - item.weight, remainingItems) + item.value; 4 | return Math.max(valueWithout, valueWith); 5 | } -------------------------------------------------------------------------------- /exercises/practice/knapsack/.meta/src/reference/java/Item.java: -------------------------------------------------------------------------------- 1 | class Item { 2 | 3 | // Weight of the item 4 | int weight; 5 | // Value of the item 6 | int value; 7 | 8 | Item(int itemWeight, int itemValue) { 9 | this.weight = itemWeight; 10 | this.value = itemValue; 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /exercises/practice/knapsack/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/knapsack/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/knapsack/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/knapsack/src/main/java/Item.java: -------------------------------------------------------------------------------- 1 | class Item { 2 | 3 | // Weight of the item 4 | int weight; 5 | // Value of the item 6 | int value; 7 | 8 | Item(int itemWeight, int itemValue) { 9 | this.weight = itemWeight; 10 | this.value = itemValue; 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /exercises/practice/knapsack/src/main/java/Knapsack.java: -------------------------------------------------------------------------------- 1 | import java.util.List; 2 | 3 | class Knapsack { 4 | 5 | int maximumValue(int maximumWeight, List items) { 6 | throw new UnsupportedOperationException("Delete this statement and write your own implementation."); 7 | } 8 | 9 | } -------------------------------------------------------------------------------- /exercises/practice/largest-series-product/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/largest-series-product/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/largest-series-product/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/leap/.approaches/boolean-chain/snippet.txt: -------------------------------------------------------------------------------- 1 | boolean isLeapYear(int year) { 2 | return year % 4 == 0 && (year % 100 != 0 || year % 400 == 0); 3 | } 4 | -------------------------------------------------------------------------------- /exercises/practice/leap/.approaches/built-in-method/snippet.txt: -------------------------------------------------------------------------------- 1 | import java.time.Year; 2 | 3 | class Leap { 4 | 5 | boolean isLeapYear(int year) { 6 | return Year.of(year).isLeap(); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /exercises/practice/leap/.approaches/plusdays/snippet.txt: -------------------------------------------------------------------------------- 1 | import java.time.*; 2 | 3 | class Leap { 4 | 5 | boolean isLeapYear(int year) { 6 | return LocalDate.of(year, Month.FEBRUARY, 28).plusDays(1).getDayOfMonth() == 29; 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /exercises/practice/leap/.approaches/ternary-operator/snippet.txt: -------------------------------------------------------------------------------- 1 | boolean isLeapYear(int year) { 2 | return year % 100 == 0 ? year % 400 == 0 : year % 4 == 0; 3 | } 4 | -------------------------------------------------------------------------------- /exercises/practice/leap/.docs/instructions.md: -------------------------------------------------------------------------------- 1 | # Instructions 2 | 3 | Your task is to determine whether a given year is a leap year. 4 | -------------------------------------------------------------------------------- /exercises/practice/leap/.meta/src/reference/java/Leap.java: -------------------------------------------------------------------------------- 1 | class Leap { 2 | 3 | boolean isLeapYear(int year) { 4 | return ( 5 | ( 6 | (year % 4 == 0) && 7 | (year % 100 != 0) 8 | ) || 9 | (year % 400 == 0) 10 | ); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /exercises/practice/leap/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/leap/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/leap/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/leap/src/main/java/Leap.java: -------------------------------------------------------------------------------- 1 | class Leap { 2 | 3 | boolean isLeapYear(int year) { 4 | throw new UnsupportedOperationException("Delete this statement and write your own implementation."); 5 | } 6 | 7 | } 8 | -------------------------------------------------------------------------------- /exercises/practice/ledger/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/ledger/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/ledger/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/linked-list/.docs/introduction.md: -------------------------------------------------------------------------------- 1 | # Introduction 2 | 3 | You are working on a project to develop a train scheduling system for a busy railway network. 4 | 5 | You've been asked to develop a prototype for the train routes in the scheduling system. 6 | Each route consists of a sequence of train stations that a given train stops at. 7 | -------------------------------------------------------------------------------- /exercises/practice/linked-list/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/linked-list/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/linked-list/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/list-ops/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/list-ops/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/list-ops/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/luhn/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/luhn/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/luhn/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/luhn/src/main/java/LuhnValidator.java: -------------------------------------------------------------------------------- 1 | class LuhnValidator { 2 | 3 | boolean isValid(String candidate) { 4 | throw new UnsupportedOperationException("Delete this statement and write your own implementation."); 5 | } 6 | 7 | } 8 | -------------------------------------------------------------------------------- /exercises/practice/markdown/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/markdown/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/markdown/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/matching-brackets/.docs/instructions.md: -------------------------------------------------------------------------------- 1 | # Instructions 2 | 3 | Given a string containing brackets `[]`, braces `{}`, parentheses `()`, or any combination thereof, verify that any and all pairs are matched and nested correctly. 4 | Any other characters should be ignored. 5 | For example, `"{what is (42)}?"` is balanced and `"[text}"` is not. 6 | -------------------------------------------------------------------------------- /exercises/practice/matching-brackets/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/matching-brackets/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/matching-brackets/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/matrix/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/matrix/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/matrix/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/mazy-mice/.docs/introduction.md: -------------------------------------------------------------------------------- 1 | # Introduction 2 | 3 | Meet Mickey and Minerva, two clever mice who love to navigate their way through a maze to find cheese. They enjoy a good challenge, but with only their tiny mouse brains, they prefer if there is only one correct path to the cheese. 4 | -------------------------------------------------------------------------------- /exercises/practice/mazy-mice/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/mazy-mice/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/mazy-mice/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/meetup/.meta/src/reference/java/MeetupSchedule.java: -------------------------------------------------------------------------------- 1 | enum MeetupSchedule { 2 | FIRST, 3 | SECOND, 4 | THIRD, 5 | FOURTH, 6 | LAST, 7 | TEENTH 8 | } 9 | -------------------------------------------------------------------------------- /exercises/practice/meetup/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/meetup/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/meetup/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/meetup/src/main/java/MeetupSchedule.java: -------------------------------------------------------------------------------- 1 | enum MeetupSchedule { 2 | FIRST, 3 | SECOND, 4 | THIRD, 5 | FOURTH, 6 | LAST, 7 | TEENTH 8 | } 9 | -------------------------------------------------------------------------------- /exercises/practice/micro-blog/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/micro-blog/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/micro-blog/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/micro-blog/src/main/java/MicroBlog.java: -------------------------------------------------------------------------------- 1 | class MicroBlog { 2 | public String truncate(String input) { 3 | throw new UnsupportedOperationException("Delete this statement and write your own implementation."); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /exercises/practice/minesweeper/.docs/introduction.md: -------------------------------------------------------------------------------- 1 | # Introduction 2 | 3 | [Minesweeper][wikipedia] is a popular game where the user has to find the mines using numeric hints that indicate how many mines are directly adjacent (horizontally, vertically, diagonally) to a square. 4 | 5 | [wikipedia]: https://en.wikipedia.org/wiki/Minesweeper_(video_game) 6 | -------------------------------------------------------------------------------- /exercises/practice/minesweeper/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/minesweeper/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/minesweeper/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/nth-prime/.docs/instructions.md: -------------------------------------------------------------------------------- 1 | # Instructions 2 | 3 | Given a number n, determine what the nth prime is. 4 | 5 | By listing the first six prime numbers: 2, 3, 5, 7, 11, and 13, we can see that the 6th prime is 13. 6 | 7 | If your language provides methods in the standard library to deal with prime numbers, pretend they don't exist and implement them yourself. 8 | -------------------------------------------------------------------------------- /exercises/practice/nth-prime/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/nth-prime/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/nth-prime/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/nth-prime/src/main/java/PrimeCalculator.java: -------------------------------------------------------------------------------- 1 | class PrimeCalculator { 2 | 3 | int nth(int nth) { 4 | throw new UnsupportedOperationException("Delete this statement and write your own implementation."); 5 | } 6 | 7 | } 8 | -------------------------------------------------------------------------------- /exercises/practice/nucleotide-count/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/nucleotide-count/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/nucleotide-count/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/ocr-numbers/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/ocr-numbers/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/ocr-numbers/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/ocr-numbers/src/main/java/OpticalCharacterReader.java: -------------------------------------------------------------------------------- 1 | import java.util.List; 2 | 3 | class OpticalCharacterReader { 4 | 5 | String parse(List input) { 6 | throw new UnsupportedOperationException("Delete this statement and write your own implementation."); 7 | } 8 | 9 | } -------------------------------------------------------------------------------- /exercises/practice/octal/src/main/java/Octal.java: -------------------------------------------------------------------------------- 1 | public class Octal { 2 | 3 | public Octal(String octal) { 4 | throw new UnsupportedOperationException("Please implement the Octal constructor."); 5 | } 6 | 7 | public int getDecimal() { 8 | throw new UnsupportedOperationException("Please implement the Octal.getDecimal() method."); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /exercises/practice/palindrome-products/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/palindrome-products/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/palindrome-products/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/pangram/.approaches/containsall/snippet.txt: -------------------------------------------------------------------------------- 1 | public boolean isPangram(String input) { 2 | return Arrays.asList(input.toLowerCase().split("")) 3 | .containsAll(Arrays.asList("abcdefghijklmnopqrstuvwxyz".split(""))); 4 | } 5 | -------------------------------------------------------------------------------- /exercises/practice/pangram/.approaches/filter-distinct-count/snippet.txt: -------------------------------------------------------------------------------- 1 | private final static int LETTERS_IN_ALPHABET = 26; 2 | 3 | public boolean isPangram(String input) { 4 | return input.toLowerCase().chars() 5 | .filter(Character::isLetter) 6 | .distinct() 7 | .count() == LETTERS_IN_ALPHABET; 8 | } 9 | -------------------------------------------------------------------------------- /exercises/practice/pangram/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/pangram/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/pangram/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/pangram/src/main/java/PangramChecker.java: -------------------------------------------------------------------------------- 1 | public class PangramChecker { 2 | 3 | public boolean isPangram(String input) { 4 | throw new UnsupportedOperationException("Delete this statement and write your own implementation."); 5 | } 6 | 7 | } 8 | -------------------------------------------------------------------------------- /exercises/practice/parallel-letter-frequency/.approaches/fork-join/snippet.txt: -------------------------------------------------------------------------------- 1 | for (int i = start; i < end; i++) { 2 | for (char c : texts.get(i).toLowerCase().toCharArray()) { 3 | if (Character.isAlphabetic(c)) { 4 | letterCount.merge(c, 1, Integer::sum); 5 | } 6 | } 7 | } -------------------------------------------------------------------------------- /exercises/practice/parallel-letter-frequency/.approaches/parallel-stream/snippet.txt: -------------------------------------------------------------------------------- 1 | texts.parallelStream().forEach(text -> { 2 | for (char c: text.toLowerCase().toCharArray()) { 3 | if (Character.isAlphabetic(c)) { 4 | letterCount.merge(c, 1, Integer::sum); 5 | } 6 | } 7 | }); -------------------------------------------------------------------------------- /exercises/practice/parallel-letter-frequency/.docs/instructions.md: -------------------------------------------------------------------------------- 1 | # Instructions 2 | 3 | Count the frequency of letters in texts using parallel computation. 4 | 5 | Parallelism is about doing things in parallel that can also be done sequentially. 6 | A common example is counting the frequency of letters. 7 | Employ parallelism to calculate the total frequency of each letter in a list of texts. 8 | -------------------------------------------------------------------------------- /exercises/practice/parallel-letter-frequency/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/parallel-letter-frequency/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/parallel-letter-frequency/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/pascals-triangle/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/pascals-triangle/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/pascals-triangle/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/pascals-triangle/src/main/java/PascalsTriangleGenerator.java: -------------------------------------------------------------------------------- 1 | class PascalsTriangleGenerator { 2 | 3 | int[][] generateTriangle(int rows) { 4 | throw new UnsupportedOperationException("Delete this statement and write your own implementation."); 5 | } 6 | 7 | } -------------------------------------------------------------------------------- /exercises/practice/perfect-numbers/.meta/src/reference/java/Classification.java: -------------------------------------------------------------------------------- 1 | enum Classification { 2 | 3 | DEFICIENT, PERFECT, ABUNDANT 4 | 5 | } 6 | -------------------------------------------------------------------------------- /exercises/practice/perfect-numbers/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/perfect-numbers/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/perfect-numbers/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/perfect-numbers/src/main/java/Classification.java: -------------------------------------------------------------------------------- 1 | enum Classification { 2 | 3 | DEFICIENT, PERFECT, ABUNDANT 4 | 5 | } 6 | -------------------------------------------------------------------------------- /exercises/practice/phone-number/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/phone-number/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/phone-number/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/piecing-it-together/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/piecing-it-together/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/piecing-it-together/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/piecing-it-together/src/main/java/PiecingItTogether.java: -------------------------------------------------------------------------------- 1 | public class PiecingItTogether { 2 | public static JigsawInfo getCompleteInformation(JigsawInfo input) { 3 | throw new UnsupportedOperationException("Delete this statement and write your own implementation."); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /exercises/practice/pig-latin/.approaches/charat-substring/snippet.txt: -------------------------------------------------------------------------------- 1 | if (vowels.contains(word.charAt(0)) || specials.contains(word.substring(0, 2))) { 2 | piggyfied.add(word + "ay"); 3 | continue; 4 | } 5 | var length = word.length(); 6 | for (int pos = 1; pos < length; pos++) { 7 | var letter = word.charAt(pos); 8 | if (vowels.contains(letter) || letter == 'y') { 9 | -------------------------------------------------------------------------------- /exercises/practice/pig-latin/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/pig-latin/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/pig-latin/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/pig-latin/src/main/java/PigLatinTranslator.java: -------------------------------------------------------------------------------- 1 | class PigLatinTranslator { 2 | public String translate(String word) { 3 | throw new UnsupportedOperationException("Please implement the translate() method"); 4 | } 5 | 6 | } -------------------------------------------------------------------------------- /exercises/practice/poker/.docs/instructions.md: -------------------------------------------------------------------------------- 1 | # Instructions 2 | 3 | Pick the best hand(s) from a list of poker hands. 4 | 5 | See [Wikipedia][poker-hands] for an overview of poker hands. 6 | 7 | [poker-hands]: https://en.wikipedia.org/wiki/List_of_poker_hands 8 | -------------------------------------------------------------------------------- /exercises/practice/poker/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/poker/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/poker/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/pov/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/pov/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/pov/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/prime-factors/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/prime-factors/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/prime-factors/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/prime-factors/src/main/java/PrimeFactorsCalculator.java: -------------------------------------------------------------------------------- 1 | import java.util.List; 2 | 3 | class PrimeFactorsCalculator { 4 | 5 | List calculatePrimeFactorsOf(long number) { 6 | throw new UnsupportedOperationException("Delete this statement and write your own implementation."); 7 | } 8 | 9 | } -------------------------------------------------------------------------------- /exercises/practice/protein-translation/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/protein-translation/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/protein-translation/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/protein-translation/src/main/java/ProteinTranslator.java: -------------------------------------------------------------------------------- 1 | import java.util.List; 2 | 3 | class ProteinTranslator { 4 | 5 | List translate(String rnaSequence) { 6 | throw new UnsupportedOperationException("Delete this statement and write your own implementation."); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /exercises/practice/proverb/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/proverb/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/proverb/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/pythagorean-triplet/.approaches/for-loops/snippet.txt: -------------------------------------------------------------------------------- 1 | for (int a = start; a <= limit; a++) { 2 | for (int b = a; b <= limit; b++) { 3 | double c = Math.sqrt(a * a + b * b); 4 | if (c % 1 == 0 && c <= limit && a + b + c == sum) { 5 | triplets.add(new PythagoreanTriplet(a, b, (int) c)); 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /exercises/practice/pythagorean-triplet/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/pythagorean-triplet/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/pythagorean-triplet/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/queen-attack/.approaches/difference-comparison/snippet.txt: -------------------------------------------------------------------------------- 1 | boolean canQueensAttackOneAnother() { 2 | int rowDifference = Math.abs(queen1.getRow() - queen2.getRow()); 3 | int columnDifference = Math.abs(queen1.getColumn() - queen2.getColumn()); 4 | return rowDifference == 0 || columnDifference == 0 || rowDifference == columnDifference; 5 | } -------------------------------------------------------------------------------- /exercises/practice/queen-attack/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/queen-attack/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/queen-attack/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/queen-attack/src/main/java/Queen.java: -------------------------------------------------------------------------------- 1 | class Queen { 2 | 3 | Queen(int row, int column) { 4 | throw new UnsupportedOperationException("Delete this statement and write your own implementation."); 5 | } 6 | 7 | } 8 | -------------------------------------------------------------------------------- /exercises/practice/rail-fence-cipher/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/rail-fence-cipher/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/rail-fence-cipher/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/raindrops/.approaches/if-statements/snippet.txt: -------------------------------------------------------------------------------- 1 | if (number % 5 == 0) { 2 | stringBuilder.append("Plang"); 3 | } 4 | if (number % 7 == 0) { 5 | stringBuilder.append("Plong"); 6 | } 7 | return stringBuilder.length() != 0 ? stringBuilder.toString() : Integer.toString(number); 8 | -------------------------------------------------------------------------------- /exercises/practice/raindrops/.approaches/map/snippet.txt: -------------------------------------------------------------------------------- 1 | String convert(int number) { 2 | var output = new StringBuilder(""); 3 | lookup.forEach((divisor, drop) -> { 4 | if (number % divisor == 0) 5 | output.append(drop); 6 | }); 7 | return output.length() != 0 ? output.toString() : Integer.toString(number); 8 | } 9 | -------------------------------------------------------------------------------- /exercises/practice/raindrops/.docs/introduction.md: -------------------------------------------------------------------------------- 1 | # Introduction 2 | 3 | Raindrops is a slightly more complex version of the FizzBuzz challenge, a classic interview question. 4 | -------------------------------------------------------------------------------- /exercises/practice/raindrops/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/raindrops/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/raindrops/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/raindrops/src/main/java/RaindropConverter.java: -------------------------------------------------------------------------------- 1 | class RaindropConverter { 2 | 3 | String convert(int number) { 4 | throw new UnsupportedOperationException("Delete this statement and write your own implementation."); 5 | } 6 | 7 | } 8 | -------------------------------------------------------------------------------- /exercises/practice/rational-numbers/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/rational-numbers/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/rational-numbers/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/react/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/react/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/react/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/rectangles/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/rectangles/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/rectangles/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/rectangles/src/main/java/RectangleCounter.java: -------------------------------------------------------------------------------- 1 | class RectangleCounter { 2 | 3 | int countRectangles(String[] grid) { 4 | throw new UnsupportedOperationException("Delete this statement and write your own implementation."); 5 | } 6 | 7 | } -------------------------------------------------------------------------------- /exercises/practice/relative-distance/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/relative-distance/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/relative-distance/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/resistor-color-duo/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/resistor-color-duo/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/resistor-color-duo/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/resistor-color-duo/src/main/java/ResistorColorDuo.java: -------------------------------------------------------------------------------- 1 | class ResistorColorDuo { 2 | int value(String[] colors) { 3 | throw new UnsupportedOperationException("Delete this statement and write your own implementation."); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /exercises/practice/resistor-color-trio/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/resistor-color-trio/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/resistor-color-trio/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/resistor-color-trio/src/main/java/ResistorColorTrio.java: -------------------------------------------------------------------------------- 1 | class ResistorColorTrio { 2 | String label(String[] colors) { 3 | throw new UnsupportedOperationException("Delete this statement and write your own implementation."); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /exercises/practice/resistor-color/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/resistor-color/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/resistor-color/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/rest-api/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/rest-api/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/rest-api/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/reverse-string/.docs/instructions.append.md: -------------------------------------------------------------------------------- 1 | # Instructions append 2 | 3 | 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. 4 | -------------------------------------------------------------------------------- /exercises/practice/reverse-string/.docs/instructions.md: -------------------------------------------------------------------------------- 1 | # Instructions 2 | 3 | Your task is to reverse a given string. 4 | 5 | Some examples: 6 | 7 | - Turn `"stressed"` into `"desserts"`. 8 | - Turn `"strops"` into `"sports"`. 9 | - Turn `"racecar"` into `"racecar"`. 10 | -------------------------------------------------------------------------------- /exercises/practice/reverse-string/.meta/src/reference/java/ReverseString.java: -------------------------------------------------------------------------------- 1 | class ReverseString { 2 | 3 | String reverse(String inputString) { 4 | return new StringBuffer(inputString).reverse().toString(); 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /exercises/practice/reverse-string/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/reverse-string/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/reverse-string/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/reverse-string/src/main/java/ReverseString.java: -------------------------------------------------------------------------------- 1 | class ReverseString { 2 | 3 | String reverse(String inputString) { 4 | throw new UnsupportedOperationException("Delete this statement and write your own implementation."); 5 | } 6 | 7 | } 8 | -------------------------------------------------------------------------------- /exercises/practice/rna-transcription/.docs/instructions.append.md: -------------------------------------------------------------------------------- 1 | # Instructions append 2 | 3 | For more help on how to solve this exercise, please refer to the tutorial provided as part of the hello world exercise: 4 | [instructions.append.md](https://github.com/exercism/java/blob/main/exercises/practice/hello-world/.docs/instructions.append.md#tutorial) 5 | -------------------------------------------------------------------------------- /exercises/practice/rna-transcription/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/rna-transcription/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/rna-transcription/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/rna-transcription/src/main/java/RnaTranscription.java: -------------------------------------------------------------------------------- 1 | class RnaTranscription { 2 | 3 | String transcribe(String dnaStrand) { 4 | throw new UnsupportedOperationException("Delete this statement and write your own implementation."); 5 | } 6 | 7 | } 8 | -------------------------------------------------------------------------------- /exercises/practice/robot-name/.approaches/random-add-to-used-names/snippet.txt: -------------------------------------------------------------------------------- 1 | usedNames.remove(this.name); 2 | String name; 3 | while (usedNames.contains(name = generateName())) { 4 | continue; 5 | } 6 | usedNames.add(name); 7 | this.name = name; 8 | -------------------------------------------------------------------------------- /exercises/practice/robot-name/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/robot-name/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/robot-name/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/robot-name/src/main/java/Robot.java: -------------------------------------------------------------------------------- 1 | class Robot { 2 | 3 | String getName() { 4 | throw new UnsupportedOperationException("Delete this statement and write your own implementation."); 5 | } 6 | 7 | void reset() { 8 | throw new UnsupportedOperationException("Delete this statement and write your own implementation."); 9 | } 10 | 11 | } -------------------------------------------------------------------------------- /exercises/practice/robot-simulator/.meta/src/reference/java/Orientation.java: -------------------------------------------------------------------------------- 1 | enum Orientation { 2 | 3 | NORTH, EAST, SOUTH, WEST 4 | 5 | } 6 | -------------------------------------------------------------------------------- /exercises/practice/robot-simulator/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/robot-simulator/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/robot-simulator/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/robot-simulator/src/main/java/Orientation.java: -------------------------------------------------------------------------------- 1 | enum Orientation { 2 | 3 | NORTH, EAST, SOUTH, WEST 4 | 5 | } 6 | -------------------------------------------------------------------------------- /exercises/practice/roman-numerals/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/roman-numerals/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/roman-numerals/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/rotational-cipher/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/rotational-cipher/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/rotational-cipher/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/run-length-encoding/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/run-length-encoding/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/run-length-encoding/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/saddle-points/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/saddle-points/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/saddle-points/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/satellite/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/satellite/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/satellite/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/satellite/src/main/java/Satellite.java: -------------------------------------------------------------------------------- 1 | import java.util.List; 2 | 3 | public class Satellite { 4 | public Tree treeFromTraversals(List preorderInput, List inorderInput) { 5 | throw new UnsupportedOperationException("Please implement the Satellite.treeFromTraversals() method."); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /exercises/practice/say/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/say/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/say/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/say/src/main/java/Say.java: -------------------------------------------------------------------------------- 1 | public class Say { 2 | 3 | public String say(long number) { 4 | throw new UnsupportedOperationException("Delete this statement and write your own implementation."); 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /exercises/practice/scrabble-score/.approaches/if-statements/snippet.txt: -------------------------------------------------------------------------------- 1 | word = word.toUpperCase(); 2 | int score = 0; 3 | for (int i = 0; i < word.length(); i++) { 4 | var ltr = word.substring(i, i + 1); 5 | if ("AEIOULNRST".contains(ltr)) 6 | score += 1; 7 | else if ("DG".contains(ltr)) 8 | score += 2; 9 | -------------------------------------------------------------------------------- /exercises/practice/scrabble-score/.approaches/map-reduce/snippet.txt: -------------------------------------------------------------------------------- 1 | Scrabble(String word) { 2 | savedScore = word.toUpperCase().chars().reduce(0, (score, letter) -> score + lookup.get(letter)); 3 | } 4 | 5 | int getScore() { 6 | return savedScore; 7 | } 8 | -------------------------------------------------------------------------------- /exercises/practice/scrabble-score/.approaches/switch-statement/snippet.txt: -------------------------------------------------------------------------------- 1 | word = word.toLowerCase(); 2 | int score = 0; 3 | for (int i = 0; i < word.length(); i++) { 4 | switch (word.charAt(i)) { 5 | case 'a', 'e', 'i', 'o', 'u', 'l', 'n', 'r', 's', 't': 6 | score += 1; 7 | break; 8 | -------------------------------------------------------------------------------- /exercises/practice/scrabble-score/.docs/introduction.md: -------------------------------------------------------------------------------- 1 | # Introduction 2 | 3 | [Scrabble][wikipedia] is a word game where players place letter tiles on a board to form words. 4 | Each letter has a value. 5 | A word's score is the sum of its letters' values. 6 | 7 | [wikipedia]: https://en.wikipedia.org/wiki/Scrabble 8 | -------------------------------------------------------------------------------- /exercises/practice/scrabble-score/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/scrabble-score/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/scrabble-score/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/secret-handshake/.approaches/for-loop/snippet.txt: -------------------------------------------------------------------------------- 1 | for (; action != end; action += action_incr) 2 | if ((number & (1 << action)) != 0) 3 | output.add(Signal.values()[action]); 4 | 5 | return output; 6 | -------------------------------------------------------------------------------- /exercises/practice/secret-handshake/.approaches/intstream/snippet.txt: -------------------------------------------------------------------------------- 1 | List < Signal > signals = IntStream.range(0, Signal.values().length) 2 | .filter(isBitOn) 3 | .mapToObj(i -> Signal.values()[i]) 4 | .collect(Collectors.toList()); 5 | if (isBitOn.test(Signal.values().length)) { 6 | Collections.reverse(signals); 7 | } 8 | return signals; 9 | -------------------------------------------------------------------------------- /exercises/practice/secret-handshake/.meta/src/reference/java/Signal.java: -------------------------------------------------------------------------------- 1 | enum Signal { 2 | 3 | WINK, DOUBLE_BLINK, CLOSE_YOUR_EYES, JUMP 4 | 5 | } 6 | -------------------------------------------------------------------------------- /exercises/practice/secret-handshake/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/secret-handshake/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/secret-handshake/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/secret-handshake/src/main/java/HandshakeCalculator.java: -------------------------------------------------------------------------------- 1 | import java.util.List; 2 | 3 | class HandshakeCalculator { 4 | 5 | List calculateHandshake(int number) { 6 | throw new UnsupportedOperationException("Delete this statement and write your own implementation."); 7 | } 8 | 9 | } 10 | -------------------------------------------------------------------------------- /exercises/practice/secret-handshake/src/main/java/Signal.java: -------------------------------------------------------------------------------- 1 | enum Signal { 2 | 3 | WINK, DOUBLE_BLINK, CLOSE_YOUR_EYES, JUMP 4 | 5 | } 6 | -------------------------------------------------------------------------------- /exercises/practice/series/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/series/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/series/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/sgf-parsing/.meta/src/reference/java/SgfParsingException.java: -------------------------------------------------------------------------------- 1 | public class SgfParsingException extends Exception { 2 | 3 | public SgfParsingException(String message) { 4 | super(message); 5 | } 6 | 7 | } 8 | -------------------------------------------------------------------------------- /exercises/practice/sgf-parsing/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/sgf-parsing/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/sgf-parsing/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/sgf-parsing/src/main/java/SgfParsing.java: -------------------------------------------------------------------------------- 1 | public class SgfParsing { 2 | public SgfNode parse(String input) throws SgfParsingException { 3 | throw new UnsupportedOperationException("Please implement the SgfParsing.parse method."); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /exercises/practice/sgf-parsing/src/main/java/SgfParsingException.java: -------------------------------------------------------------------------------- 1 | public class SgfParsingException extends Exception { 2 | 3 | public SgfParsingException(String message) { 4 | super(message); 5 | } 6 | 7 | } 8 | -------------------------------------------------------------------------------- /exercises/practice/sieve/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/sieve/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/sieve/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/simple-cipher/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/simple-cipher/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/simple-cipher/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/simple-linked-list/.docs/introduction.md: -------------------------------------------------------------------------------- 1 | # Introduction 2 | 3 | You work for a music streaming company. 4 | 5 | You've been tasked with creating a playlist feature for your music player application. 6 | -------------------------------------------------------------------------------- /exercises/practice/simple-linked-list/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/simple-linked-list/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/simple-linked-list/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/space-age/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/space-age/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/space-age/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/spiral-matrix/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/spiral-matrix/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/spiral-matrix/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/spiral-matrix/src/main/java/SpiralMatrixBuilder.java: -------------------------------------------------------------------------------- 1 | class SpiralMatrixBuilder { 2 | int[][] buildMatrixOfSize(int size) { 3 | throw new UnsupportedOperationException("Please implement the SpiralMatrixBuilder.buildMatrixOfSize() method."); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /exercises/practice/square-root/.docs/instructions.append.md: -------------------------------------------------------------------------------- 1 | # Instructions (appended) 2 | 3 | The goal of this exercise is to practice working with numbers, so stay away 4 | from `java.lang.Math`! 5 | -------------------------------------------------------------------------------- /exercises/practice/square-root/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/square-root/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/square-root/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/square-root/src/main/java/SquareRoot.java: -------------------------------------------------------------------------------- 1 | public class SquareRoot { 2 | public int squareRoot(int radicand) { 3 | throw new UnsupportedOperationException("Please implement the SquareRoot.squareRoot method."); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /exercises/practice/state-of-tic-tac-toe/.meta/src/reference/java/GameState.java: -------------------------------------------------------------------------------- 1 | enum GameState { 2 | WIN, 3 | DRAW, 4 | ONGOING 5 | } 6 | -------------------------------------------------------------------------------- /exercises/practice/state-of-tic-tac-toe/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/state-of-tic-tac-toe/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/state-of-tic-tac-toe/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/state-of-tic-tac-toe/src/main/java/GameState.java: -------------------------------------------------------------------------------- 1 | enum GameState { 2 | WIN, 3 | DRAW, 4 | ONGOING 5 | } 6 | -------------------------------------------------------------------------------- /exercises/practice/state-of-tic-tac-toe/src/main/java/StateOfTicTacToe.java: -------------------------------------------------------------------------------- 1 | class StateOfTicTacToe { 2 | public GameState determineState(String[] board) { 3 | throw new UnsupportedOperationException("Please implement the StateOfTicTacToe.determineState() method."); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /exercises/practice/sublist/.meta/src/reference/java/Relationship.java: -------------------------------------------------------------------------------- 1 | enum Relationship { 2 | 3 | EQUAL, SUBLIST, SUPERLIST, UNEQUAL 4 | 5 | } 6 | -------------------------------------------------------------------------------- /exercises/practice/sublist/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/sublist/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/sublist/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/sublist/src/main/java/Relationship.java: -------------------------------------------------------------------------------- 1 | enum Relationship { 2 | 3 | EQUAL, SUBLIST, SUPERLIST, UNEQUAL 4 | 5 | } 6 | -------------------------------------------------------------------------------- /exercises/practice/sublist/src/main/java/RelationshipComputer.java: -------------------------------------------------------------------------------- 1 | import java.util.List; 2 | 3 | class RelationshipComputer { 4 | Relationship computeRelationship(List firstList, List secondList) { 5 | throw new UnsupportedOperationException("Please implement the RelationshipComputer.computeRelationship() method."); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /exercises/practice/sum-of-multiples/.docs/introduction.md: -------------------------------------------------------------------------------- 1 | # Introduction 2 | 3 | You work for a company that makes an online, fantasy-survival game. 4 | 5 | When a player finishes a level, they are awarded energy points. 6 | The amount of energy awarded depends on which magical items the player found while exploring that level. 7 | -------------------------------------------------------------------------------- /exercises/practice/sum-of-multiples/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/sum-of-multiples/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/sum-of-multiples/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/swift-scheduling/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/swift-scheduling/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/swift-scheduling/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/swift-scheduling/src/main/java/SwiftScheduling.java: -------------------------------------------------------------------------------- 1 | import java.time.LocalDateTime; 2 | 3 | public class SwiftScheduling { 4 | public static LocalDateTime convertToDeliveryDate(LocalDateTime meetingStart, String description) { 5 | throw new UnsupportedOperationException("Delete this statement and write your own implementation."); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /exercises/practice/tournament/.meta/src/reference/java/Result.java: -------------------------------------------------------------------------------- 1 | enum Result { 2 | WIN, 3 | DRAW, 4 | LOSS 5 | } 6 | -------------------------------------------------------------------------------- /exercises/practice/tournament/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/tournament/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/tournament/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/transpose/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/transpose/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/transpose/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/transpose/src/main/java/Transpose.java: -------------------------------------------------------------------------------- 1 | public class Transpose { 2 | public String transpose(String toTranspose) { 3 | throw new UnsupportedOperationException("Please implement the Transpose.transpose() method."); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /exercises/practice/tree-building/.meta/src/reference/java/InvalidRecordsException.java: -------------------------------------------------------------------------------- 1 | class InvalidRecordsException extends Exception { 2 | 3 | InvalidRecordsException(String message) { 4 | super(message); 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /exercises/practice/tree-building/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/tree-building/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/tree-building/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/tree-building/src/main/java/InvalidRecordsException.java: -------------------------------------------------------------------------------- 1 | class InvalidRecordsException extends Exception { 2 | 3 | InvalidRecordsException(String message) { 4 | super(message); 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /exercises/practice/triangle/.meta/src/reference/java/TriangleException.java: -------------------------------------------------------------------------------- 1 | class TriangleException extends Exception { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /exercises/practice/triangle/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/triangle/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/triangle/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/triangle/src/main/java/TriangleException.java: -------------------------------------------------------------------------------- 1 | class TriangleException extends Exception { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /exercises/practice/trinary/src/main/java/Trinary.java: -------------------------------------------------------------------------------- 1 | public class Trinary { 2 | 3 | public static int toDecimal(String input) { 4 | throw new UnsupportedOperationException("Please implement the Trinary.toDecimal() method."); 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /exercises/practice/twelve-days/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/twelve-days/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/twelve-days/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/two-bucket/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/two-bucket/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/two-bucket/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/two-fer/.meta/src/reference/java/Twofer.java: -------------------------------------------------------------------------------- 1 | class Twofer { 2 | String twofer(String name) { 3 | return "One for " + (name != null ? name : "you") + ", one for me."; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /exercises/practice/two-fer/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/two-fer/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/two-fer/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/two-fer/src/main/java/Twofer.java: -------------------------------------------------------------------------------- 1 | public class Twofer { 2 | public String twofer(String name) { 3 | throw new UnsupportedOperationException("Delete this statement and write your own implementation."); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /exercises/practice/variable-length-quantity/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/variable-length-quantity/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/variable-length-quantity/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/word-count/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/word-count/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/word-count/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/word-count/src/main/java/WordCount.java: -------------------------------------------------------------------------------- 1 | import java.util.Map; 2 | 3 | class WordCount { 4 | public Map phrase(String input) { 5 | throw new UnsupportedOperationException("Please implement the WordCount.phrase() method."); 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /exercises/practice/word-search/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/word-search/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/word-search/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/wordy/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/wordy/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/wordy/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/wordy/src/main/java/WordProblemSolver.java: -------------------------------------------------------------------------------- 1 | class WordProblemSolver { 2 | int solve(final String wordProblem) { 3 | throw new UnsupportedOperationException("Please implement the WordProblemSolver.solve() method."); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /exercises/practice/yacht/.meta/src/reference/java/YachtCategory.java: -------------------------------------------------------------------------------- 1 | enum YachtCategory { 2 | 3 | YACHT, 4 | ONES, 5 | TWOS, 6 | THREES, 7 | FOURS, 8 | FIVES, 9 | SIXES, 10 | FULL_HOUSE, 11 | FOUR_OF_A_KIND, 12 | LITTLE_STRAIGHT, 13 | BIG_STRAIGHT, 14 | CHOICE 15 | 16 | } 17 | -------------------------------------------------------------------------------- /exercises/practice/yacht/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/yacht/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/yacht/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/yacht/src/main/java/YachtCategory.java: -------------------------------------------------------------------------------- 1 | enum YachtCategory { 2 | 3 | YACHT, 4 | ONES, 5 | TWOS, 6 | THREES, 7 | FOURS, 8 | FIVES, 9 | SIXES, 10 | FULL_HOUSE, 11 | FOUR_OF_A_KIND, 12 | LITTLE_STRAIGHT, 13 | BIG_STRAIGHT, 14 | CHOICE 15 | 16 | } 17 | -------------------------------------------------------------------------------- /exercises/practice/zebra-puzzle/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/zebra-puzzle/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/zebra-puzzle/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/practice/zipper/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/exercises/practice/zipper/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /exercises/practice/zipper/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | validateDistributionUrl=true 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /exercises/shared/.docs/help.md: -------------------------------------------------------------------------------- 1 | # Useful Resources 2 | 3 | If you need some help you can visit these resources: 4 | 5 | - [Stack Overflow](https://stackoverflow.com/questions/tagged/java), 6 | - [The Java subreddit](https://www.reddit.com/r/java), 7 | - [Official Java documentation](https://docs.oracle.com/en/java/javase/11/docs/api/index.html). 8 | -------------------------------------------------------------------------------- /resources/exercise-template/.meta/config.json: -------------------------------------------------------------------------------- 1 | { 2 | "authors": ["your-github-username-here"], 3 | "files": { 4 | "solution": ["src/main/java/ExerciseName.java"], 5 | "test": ["src/test/java/ExerciseNameTest.java"], 6 | "exemplar": [".meta/src/reference/java/ExerciseName.java"], 7 | "invalidator": ["build.gradle"] 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /resources/exercise-template/.meta/src/reference/java/ExerciseName.java: -------------------------------------------------------------------------------- 1 | class ExerciseName { 2 | int answer() { 3 | return 42; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /resources/exercise-template/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/resources/exercise-template/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /resources/exercise-template/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip 4 | networkTimeout=10000 5 | validateDistributionUrl=true 6 | zipStoreBase=GRADLE_USER_HOME 7 | zipStorePath=wrapper/dists 8 | -------------------------------------------------------------------------------- /resources/exercise-template/src/main/java/ExerciseName.java: -------------------------------------------------------------------------------- 1 | class ExerciseName { 2 | int answer() { 3 | throw new UnsupportedOperationException("Delete this statement and write your own implementation."); 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /resources/images/branch-menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/resources/images/branch-menu.png -------------------------------------------------------------------------------- /resources/images/branch-name.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/resources/images/branch-name.png -------------------------------------------------------------------------------- /resources/images/clone-repo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/resources/images/clone-repo.png -------------------------------------------------------------------------------- /resources/images/commit-files.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/resources/images/commit-files.png -------------------------------------------------------------------------------- /resources/images/gradle-import.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/resources/images/gradle-import.png -------------------------------------------------------------------------------- /resources/images/gradle-setup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/resources/images/gradle-setup.png -------------------------------------------------------------------------------- /resources/images/java-module.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/resources/images/java-module.png -------------------------------------------------------------------------------- /resources/images/run-test.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/exercism/java/ae8a886fe21cffca13d1c5ee45845b3060f70884/resources/images/run-test.png --------------------------------------------------------------------------------