From fe09c7d626823843462b4e453cf1ae23f9ce79ed Mon Sep 17 00:00:00 2001 From: "exercism-solutions-syncer[bot]" <211797793+exercism-solutions-syncer[bot]@users.noreply.github.com> Date: Fri, 17 Apr 2026 07:02:35 +0000 Subject: [PATCH] [Sync Iteration] java/squeaky-clean/1 --- .../1/src/main/java/SqueakyClean.java | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 solutions/java/squeaky-clean/1/src/main/java/SqueakyClean.java diff --git a/solutions/java/squeaky-clean/1/src/main/java/SqueakyClean.java b/solutions/java/squeaky-clean/1/src/main/java/SqueakyClean.java new file mode 100644 index 00000000..def54252 --- /dev/null +++ b/solutions/java/squeaky-clean/1/src/main/java/SqueakyClean.java @@ -0,0 +1,28 @@ +class SqueakyClean { + static String clean(String identifier) { + StringBuilder result = new StringBuilder(); + boolean toUpper = false; + String replace = identifier.replace(" ", "_") + .replace("4", "a") + .replace("3", "e") + .replace("0", "o") + .replace("1", "l") + .replace("7", "t"); + for (char c : replace.toCharArray()){ + if (!Character.isLetter(c) && c != '_' && c != '-') { + continue; + } + if (c == '-') { + toUpper = true; + } else { + if (toUpper) { + result.append(Character.toUpperCase(c)); + toUpper = false; + } else { + result.append(c); + } + } + } + return result.toString(); + } +}