Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 12 additions & 2 deletions clean-code-challanges/src/main/java/Acronym.java
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@

/**
* Convert a phrase to its acronym.
*
Expand All @@ -6,13 +7,22 @@
* Help generate some jargon by writing a program that converts a long name like Portable Network Graphics to its acronym (PNG).
*/
class Acronym {
public final String phrase;
private StringBuilder acronym = new StringBuilder();

Acronym(String phrase) {

this.phrase = phrase;
}

String get() {
return null;
String[] words = phrase.replaceAll("-", " ").split(" ");
for (String word : words) {
if (!word.isEmpty()) {
word = word.replaceAll("[^a-zA-Z0-9]", "");
acronym.append(word.substring(0,1));
}
}
return acronym.toString().toUpperCase();
}

}
13 changes: 7 additions & 6 deletions clean-code-challanges/src/main/java/PigLatinTranslator.java
Original file line number Diff line number Diff line change
@@ -1,18 +1,19 @@

/**
* Implement a program that translates from English to Pig Latin.
*
* <p>
* Pig Latin is a made-up children's language that's intended to be confusing. It obeys a few simple rules (below),
* but when it's spoken quickly it's really difficult for non-children (and non-native speakers) to understand.
*
* <p>
* Rule 1: If a word begins with a vowel sound, add an "ay" sound to the end of the word.
* Please note that "xr" and "yt" at the beginning of a word make vowel sounds (e.g. "xray" -> "xrayay", "yttria" -> "yttriaay").
* Please note that "xr" and "yt" at the beginning of a word make vowel sounds (e.g. "xray" -> "xrayay", "yttria" -> "yttriaay").
* Rule 2: If a word begins with a consonant sound, move it to the end of the word and then add an "ay" sound to the end of the word.
* Consonant sounds can be made up of multiple consonants, a.k.a. a consonant cluster (e.g. "chair" -> "airchay").
* Consonant sounds can be made up of multiple consonants, a.k.a. a consonant cluster (e.g. "chair" -> "airchay").
* Rule 3: If a word starts with a consonant sound followed by "qu", move it to the end of the word, and then add an "ay" sound to the end of the word (e.g. "square" -> "aresquay").
* Rule 4: If a word contains a "y" after a consonant cluster or as the second letter in a two letter word it makes a vowel sound (e.g. "rhythm" -> "ythmrhay", "my" -> "ymay").
*
* <p>
* There are a few more rules for edge cases, and there are regional variants too.
*
* <p>
* See http://en.wikipedia.org/wiki/Pig_latin for more details.
*/
public class PigLatinTranslator {
Expand Down