Skip to content

Instantly share code, notes, and snippets.

@spilth
Created May 23, 2011 15:53
Show Gist options
  • Save spilth/986928 to your computer and use it in GitHub Desktop.
Save spilth/986928 to your computer and use it in GitHub Desktop.
Translate Function After 2
package com.buildndeploy.piglatin;
public class Translator {
public String toPiglatin(String originalWord) {
if (startsWithVowel(originalWord)) {
return (simplePiglatinWord(originalWord));
} else {
return (complexPiglatinWord(originalWord));
}
}
private String complexPiglatinWord(String originalWord) {
String piglatinWord;
int firstVowelIndex = findFirstVowelIndex(originalWord);
String piglatinStart = originalWord.substring(firstVowelIndex);
String piglatinEnd = originalWord.substring(0, firstVowelIndex).toLowerCase();
piglatinWord = piglatinStart + piglatinEnd + "ay";
if (isCapitalized(originalWord)) {
piglatinWord = capitalizeWord(piglatinWord);
}
return piglatinWord;
}
private String capitalizeWord(String word) {
Character firstLetter = Character.toUpperCase(word.charAt(0));
word = firstLetter + word.substring(1);
return word;
}
private boolean isCapitalized(String originalWord) {
return Character.isUpperCase(originalWord.charAt(0));
}
private String simplePiglatinWord(String originalWord) {
String piglatinWord;
piglatinWord = originalWord + "way";
return piglatinWord;
}
private boolean startsWithVowel(String word) {
return isVowel(word.charAt(0));
}
private int findFirstVowelIndex(String word) {
int vowelIndex = 0;
int wordLength = word.length();
for (int i = 0; i < wordLength; i++) {
if (isVowel(word.charAt(i))) {
vowelIndex = i;
break;
}
}
return vowelIndex;
}
private boolean isVowel(Character letter) {
letter = Character.toLowerCase(letter);
return letter.equals('a')
|| letter.equals('e')
|| letter.equals('i')
|| letter.equals('o')
|| letter.equals('u')
|| letter.equals('y');
}
}
@spilth
Copy link
Author

spilth commented May 26, 2011 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment