RE: The 2005 CyberArmy Pig Latin Contest! ;) |
||
![]() Tr Blacklotis import chn.util.*; public class Piglatinator { String toPigLatin(String englishWord) { //check if input is valid if (englishWord.length()>0) { //declare string for pig latin word String pigLatinWord; //declare and intialze variable for location of first vowel int locOfFirstVowel = englishWord.length(); //find location of first vowel by checking each vowel if ((englishWord.indexOf('a') != -1) && (locOfFirstVowel > englishWord.indexOf('a'))) locOfFirstVowel = englishWord.indexOf('a'); if ((englishWord.indexOf('e') != -1) && (locOfFirstVowel > englishWord.indexOf('e'))) locOfFirstVowel = englishWord.indexOf('e'); if ((englishWord.indexOf('i') != -1) && (locOfFirstVowel > englishWord.indexOf('i'))) locOfFirstVowel = englishWord.indexOf('i'); if ((englishWord.indexOf('o') != -1) && (locOfFirstVowel > englishWord.indexOf('o'))) locOfFirstVowel = englishWord.indexOf('o'); if ((englishWord.indexOf('u') != -1) && (locOfFirstVowel > englishWord.indexOf('u'))) locOfFirstVowel = englishWord.indexOf('u'); if ((englishWord.indexOf('A') != -1) && (locOfFirstVowel > englishWord.indexOf('A'))) locOfFirstVowel = englishWord.indexOf('A'); if ((englishWord.indexOf('E') != -1) && (locOfFirstVowel > englishWord.indexOf('E'))) locOfFirstVowel = englishWord.indexOf('E'); if ((englishWord.indexOf('I') != -1) && (locOfFirstVowel > englishWord.indexOf('I'))) locOfFirstVowel = englishWord.indexOf('I'); if ((englishWord.indexOf('O') != -1) && (locOfFirstVowel > englishWord.indexOf('O'))) locOfFirstVowel = englishWord.indexOf('O'); if ((englishWord.indexOf('U') != -1) && (locOfFirstVowel > englishWord.indexOf('U'))) locOfFirstVowel = englishWord.indexOf('U'); //check if no vowels at all if (locOfFirstVowel == englishWord.length()) pigLatinWord = englishWord + "ay"; //check if vowel is first letter else if ( locOfFirstVowel == 0) pigLatinWord = englishWord + "yay"; else pigLatinWord = englishWord.substring(locOfFirstVowel) + englishWord.substring(0,locOfFirstVowel) + "ay"; //check for capitilization if(englishWord.charAt(0) > 'A' && englishWord.charAt(0) < 'Z') { pigLatinWord = pigLatinWord.toLowerCase(); pigLatinWord = (char)(pigLatinWord.charAt(0) - 32) + pigLatinWord.substring(1); } //return pig latin word return pigLatinWord; } else return ""; } public static void main(String args[]) { //declare and construct ConsoleIO object key ConsoleIO key = new ConsoleIO(); //declare and construct Piglatinator object pig Piglatinator pig = new Piglatinator(); //print greeting System.out.println("Welcome to the Piglatinator!"); System.out.println(); System.out.println("I can translate phrases from English to Pig Latin."); //declare user input string String user = ""; //declare quit variable int quit = 1; //do-while loop for reprompting do { //prompt user for string System.out.println(); System.out.println("Please enter an English phrase, then hit<Enter>."); System.out.print("> "); user = key.readLine(); //declare pig latin string String pigLatin = ""; //do-while loop for breaking phrase up into words do { //declare variable for location of a word break, set to the length of string int locOfWordBreak = user.length(); //check for each word break if(user.indexOf(" ")!= -1 && user.indexOf(" ") < locOfWordBreak) locOfWordBreak = user.indexOf(" "); if(user.indexOf(",")!= -1 && user.indexOf(",") < locOfWordBreak) locOfWordBreak = user.indexOf(","); if(user.indexOf(".")!= -1 && user.indexOf(".") < locOfWordBreak) locOfWordBreak = user.indexOf("."); if(user.indexOf("?")!= -1 && user.indexOf("?") < locOfWordBreak) locOfWordBreak = user.indexOf("?"); if(user.indexOf("!")!= -1 && user.indexOf("!") < locOfWordBreak) locOfWordBreak = user.indexOf("!"); if(user.indexOf(";")!= -1 && user.indexOf(";") < locOfWordBreak) locOfWordBreak = user.indexOf(";"); if(user.indexOf(":")!= -1 && user.indexOf(":") < locOfWordBreak) locOfWordBreak = user.indexOf(":"); if(user.indexOf("-")!= -1 && user.indexOf("-") < locOfWordBreak) locOfWordBreak = user.indexOf("-"); if(user.indexOf("\"")!= -1 && user.indexOf("\"") < locOfWordBreak) locOfWordBreak = user.indexOf("\""); if(user.indexOf("(")!= -1 && user.indexOf("(") < locOfWordBreak) locOfWordBreak = user.indexOf("("); if(user.indexOf(")")!= -1 && user.indexOf(")") < locOfWordBreak) locOfWordBreak = user.indexOf(")"); //check for last word in phrase if (locOfWordBreak == user.length()) user += " "; //covert current word to piglatin and add to piglatin tring pigLatin = pigLatin + pig.toPigLatin(user.substring(0,locOfWordBreak)) + user.charAt(locOfWordBreak); //cut converted word out of user string user = user.substring (locOfWordBreak + 1); }while (user.length()>0); //print result System.out.println(); System.out.println("In pig Latin that would be:"); System.out.println(pigLatin); //ask user if they want to do another phrase System.out.println(); System.out.println("Would you like to translate another phrase?"); System.out.print("Enter 1 for yes or 2 for no: "); quit = key.readInt(); //error trap for invalid entry while (quit != 1 && quit !=2) { System.out.print("INVALID ENTRY!!! Enter 1 for yes or 2 for no: "); quit = key.readInt(); } }while(quit == 1); } } Blacklotis Replies:
|
||
| CyberArmy::Forum v0.6 Generated In 0.01168 seconds |