Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class PigLatin
- {
- public String translate(String text)
- {
- String latin = "";
- String word = "";
- String latinword = "";
- Boolean wordend = false;
- Boolean capital = false;
- for (int i = 1; i <= text.length(); i++)
- {
- // Extract word
- word = word + word.substring(i,i+1);
- if ( word.substring(i,i+1) == " ")
- wordend = true;
- int punc = 1;
- int prefixNum = 1;
- boolean puncTest = true;
- boolean prefixTest = true;
- // Translate word
- if (wordend)
- {
- // Find whether capital or not
- boolean capitalTest = true;
- for ( int k = 1; k <= word.length(); k++ )
- {
- if ( isLetter( word.charAt(k) ) && capitalTest )
- {
- if ( isUpperCase( word.charAt(k) ) )
- {
- capital = true;
- // Make first letter lowercase
- word.substring(0,1).toLowerCase();
- }
- capitalTest = false;
- }
- }
- // Find letters to move to back of word, if any
- for ( int k = 1; k <= word.length() || prefixTest == false; k++ )
- {
- if ( isLetter( word.charAt(k) ) || isDigit( word.charAt(k) ) )
- {
- if ( isDigit( word.charAt(k) ) )
- {
- prefixNum = 1;
- prefixTest = false;
- }
- else if ( isLetter( word.charAt(k) ) )
- {
- if ( isVowel( word.charAt(k) ) )
- {
- prefixNum = k;
- prefixTest = false;
- }
- }
- }
- else
- {
- if (puncTest)
- {
- punc = k;
- puncTest = false;
- }
- }
- }
- // Translate word
- if ( punc > 1 )
- {
- for ( int k = 1; k < punc; k++ )
- {
- latinword = latinword + word.substring(i,i+1);
- }
- }
- for ( int k = prefixNum; k < word.length(); k++ )
- {
- latinword = latinword + word.substring(i,i+1);
- }
- if ( prefixTest )
- latinword = latinword + "way";
- else
- {
- for ( int k = punc; k < prefixNum; k++ )
- {
- latinword = latinword + word.substring(i,i+1);
- }
- latinword = latinword + "ay";
- }
- if ( capital )
- latinword.substring(punc - 1,punc).toLowerCase();
- latin = latin + " " + latinword;
- }
- }
- return latin;
- }
- public boolean isLetter(char c)
- {
- final String letter = "qwertyuiopasdfghjklzxcvbnm";
- char test;
- boolean letterTest = false;
- for (int t=0; t < 26; t++)
- {
- test = letter.charAt(t);
- if ( c == test )
- letterTest = true;
- }
- return letterTest;
- }
- public boolean isDigit(char c)
- {
- final String digit = "0123456789";
- char test;
- boolean digitTest = false;
- for (int t=0; t < 10; t++)
- {
- test = digit.charAt(t);
- if ( c == test )
- digitTest = true;
- }
- return digitTest;
- }
- public boolean isVowel(char c)
- {
- final String vowel = "aeiouy";
- char test;
- boolean vowelTest = false;
- for (int t=0; t < 6; t++)
- {
- test = vowel.charAt(t);
- if ( c == test )
- vowelTest = true;
- }
- return vowelTest;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement