我似乎無法得到這個工作,這是我的第一個Java類,所以任何的幫助深表感謝: 繼承人是我迄今爲止:strEnglishPhrase已經在main(java.lang.String [])中定義了嗎?
import java.io.Console;
import java.util.Scanner;
public class Pig extends Object{
public static void main(String[] args){
Console console = System.console();
String strEnglishPhrase;
char choice;
do{
System.out.println("Welcome to the Pig Latin Translator!!");
strEnglishPhrase =
console.readLine("Enter Phrase for Translation : ");
Scanner scanner = new Scanner(System.in);
String strEnglishPhrase = scanner.nextLine();
if(strEnglishPhrase != null && !strEnglishPhrase.equals("")){
System.out.println("Phrase in Pig Latin : \n"
+ convertEnglishToPigLatin(strEnglishPhrase));
} else{
System.out.println("Whoops, Invalid Entry.");
}
choice =
console
.readLine("Do you want to continue? y" + '/' + "n?")
.charAt(0);
} while((choice != 'n') && (choice != 'N'));
}
public static String convertEnglishToPigLatin(String strEnglishPhrase){
String strVowels = "aeiou";
String[] strTokens = strEnglishPhrase.split("[ ]");
StringBuffer sbPigLatinStuff = new StringBuffer();
for(int i = 0; i < strTokens.length; i++){
if(strVowels.indexOf(strTokens[i].charAt(0)) >= 0){
sbPigLatinStuff.append(strTokens[i] + "way ");
} else if((strTokens[i].indexOf("a") < 0)
&& (strTokens[i].indexOf("e") < 0)
&& (strTokens[i].indexOf("i") < 0)
&& (strTokens[i].indexOf("o") < 0)
&& (strTokens[i].indexOf("u") < 0)){
sbPigLatinStuff.append(strTokens[i] + "ay ");
} else{
for(int j = 1; j < strTokens[i].length(); j++){
if(strVowels.indexOf(strTokens[i].charAt(j)) >= 0){
sbPigLatinStuff.append(strTokens[i].substring(j)
+ strTokens[i].substring(0, j) + "ay ");
break;
}
}
}
}
return sbPigLatinStuff.toString();
}
}
使用IDE(如Eclipse)。它會立即告訴你什麼是錯的。 – 2011-01-28 08:21:00