1
我想创建一个将英语翻译成PigLatin的程序。我有大部分组件,但如果我输入多个单词,它只能翻译第一个单词。问题在哪里,我该如何解决。翻译,只接受一个词,为什么不是其他的词
public class PigLatin{
public static String translate(String phrase){
String [] returnArray=phrase.split(" ");
String [] translateArray=new String [returnArray.length];
for(int i=0;i<returnArray.length;i++){
translateArray[i]=translateWord(returnArray[i]);
}
return StringLib.join(translateArray, " ");//translated Array
}
public static String translateWord(String word) {
String tword=word;
int indexVowel=indexOfFirstVowel(tword);
if(indexOfFirstVowel(tword)==0){
tword=tword+"yay";
}
else {
tword=tword.substring(indexOfFirstVowel(tword),tword.length())+tword.substring(0,indexOfFirstVowel(tword))+"ay";
}
return tword;
}
public static int indexOfFirstVowel(String word) {//check where the first vowel is
String vowels = "aeiouy";
String loweredWord=word.toLowerCase();
for (int index=0;index<loweredWord.length();index++){
if(vowels.contains(String.valueOf(loweredWord.charAt(index)))){
return index;
}
}
return -1;
}
public static void main(String [] args){
Scanner inp=new Scanner(System.in);
System.out.println("Please enter a phrase:");
String trans=translate(inp.next());
System.out.println("Here is your phrase in Pig Latin.");
System.out.println(trans);
}
的string.join转换数组为String这里是代码
public class StringLib {
public static String join(String[] strs, String sep) {
String joined = "";
if (strs.length > 0) {
joined = strs[0];
for (int i = 1; i < strs.length; i++) {
joined = joined + sep + strs[i];
}
}
return joined;
}
HTTP ://docs.oracle.com/javase/7/docs/a pi/java/util/Scanner.html#next()你可能想'nextLine()' – 2014-10-30 19:43:51
你可能也想使用StringBuilder来进行字符串连接 – 2014-10-30 19:45:35