Advertisement
Guest User

Untitled

a guest
May 26th, 2017
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.46 KB | None | 0 0
  1.  
  2.  
  3. public class PigLatin
  4. {
  5. public String translate(String text)
  6. {
  7. String latin = "";
  8. String word = "";
  9. String latinword = "";
  10. Boolean wordend = false;
  11. Boolean capital = false;
  12.  
  13. for (int i = 1; i <= text.length(); i++)
  14. {
  15. // Extract word
  16. word = word + word.substring(i,i+1);
  17. if ( word.substring(i,i+1) == " ")
  18. wordend = true;
  19.  
  20. int punc = 1;
  21. int prefixNum = 1;
  22. boolean puncTest = true;
  23. boolean prefixTest = true;
  24.  
  25. // Translate word
  26. if (wordend)
  27. {
  28. // Find whether capital or not
  29. boolean capitalTest = true;
  30. for ( int k = 1; k <= word.length(); k++ )
  31. {
  32. if ( isLetter( word.charAt(k) ) && capitalTest )
  33. {
  34. if ( isUpperCase( word.charAt(k) ) )
  35. {
  36. capital = true;
  37. // Make first letter lowercase
  38. word.substring(0,1).toLowerCase();
  39. }
  40. capitalTest = false;
  41. }
  42. }
  43.  
  44. // Find letters to move to back of word, if any
  45. for ( int k = 1; k <= word.length() || prefixTest == false; k++ )
  46. {
  47. if ( isLetter( word.charAt(k) ) || isDigit( word.charAt(k) ) )
  48. {
  49. if ( isDigit( word.charAt(k) ) )
  50. {
  51. prefixNum = 1;
  52. prefixTest = false;
  53. }
  54. else if ( isLetter( word.charAt(k) ) )
  55. {
  56. if ( isVowel( word.charAt(k) ) )
  57. {
  58. prefixNum = k;
  59. prefixTest = false;
  60. }
  61. }
  62. }
  63. else
  64. {
  65. if (puncTest)
  66. {
  67. punc = k;
  68. puncTest = false;
  69. }
  70. }
  71. }
  72.  
  73. // Translate word
  74. if ( punc > 1 )
  75. {
  76. for ( int k = 1; k < punc; k++ )
  77. {
  78. latinword = latinword + word.substring(i,i+1);
  79. }
  80. }
  81. for ( int k = prefixNum; k < word.length(); k++ )
  82. {
  83. latinword = latinword + word.substring(i,i+1);
  84. }
  85. if ( prefixTest )
  86. latinword = latinword + "way";
  87. else
  88. {
  89. for ( int k = punc; k < prefixNum; k++ )
  90. {
  91. latinword = latinword + word.substring(i,i+1);
  92. }
  93. latinword = latinword + "ay";
  94. }
  95.  
  96. if ( capital )
  97. latinword.substring(punc - 1,punc).toLowerCase();
  98.  
  99. latin = latin + " " + latinword;
  100. }
  101. }
  102.  
  103. return latin;
  104. }
  105.  
  106. public boolean isLetter(char c)
  107. {
  108. final String letter = "qwertyuiopasdfghjklzxcvbnm";
  109. char test;
  110.  
  111. boolean letterTest = false;
  112.  
  113. for (int t=0; t < 26; t++)
  114. {
  115. test = letter.charAt(t);
  116.  
  117. if ( c == test )
  118. letterTest = true;
  119. }
  120.  
  121. return letterTest;
  122. }
  123.  
  124. public boolean isDigit(char c)
  125. {
  126. final String digit = "0123456789";
  127. char test;
  128.  
  129. boolean digitTest = false;
  130.  
  131. for (int t=0; t < 10; t++)
  132. {
  133. test = digit.charAt(t);
  134.  
  135. if ( c == test )
  136. digitTest = true;
  137. }
  138.  
  139. return digitTest;
  140. }
  141.  
  142. public boolean isVowel(char c)
  143. {
  144. final String vowel = "aeiouy";
  145. char test;
  146.  
  147. boolean vowelTest = false;
  148.  
  149. for (int t=0; t < 6; t++)
  150. {
  151. test = vowel.charAt(t);
  152.  
  153. if ( c == test )
  154. vowelTest = true;
  155. }
  156.  
  157. return vowelTest;
  158. }
  159.  
  160. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement