0

次のコードで発生した問題について助けてください。

package piglatin;
public class asdg {

public static void main(String[] args) {

    String word = "fifteen";
    int vowelSpot =  findFirstVowelPosition(word);
    String wordBeg = "";
    String wordEnd = "ay";
    String wordNew = "";

    System.out.println(vowelSpot);

    wordBeg = word.substring(0,vowelSpot-1);

    System.out.println(wordBeg);

    word = word.replace(wordBeg,"");

    System.out.println(word);

    wordNew = word + wordBeg + wordEnd;

    System.out.println(wordNew);
}


public static int findFirstVowelPosition(String word)
{
     int vowelPosition = -1;
    word = word.trim();

    for(int i=1; i <=word.length(); i++)  
     {      
        if ((word.charAt(i-1) == 'a') ||(word.charAt(i-1) == 'A')
         ||(word.charAt(i-1) == 'e') ||(word.charAt(i-1) == 'E')
         ||(word.charAt(i-1) == 'i') ||(word.charAt(i-1) == 'I')
         ||(word.charAt(i-1) == 'o') ||(word.charAt(i-1) == 'O')
         ||(word.charAt(i-1) == 'u') ||(word.charAt(i-1) == 'U')
         ||(word.charAt(i-1) == 'y') ||(word.charAt(i-1) == 'Y')){
           vowelPosition = i;
            return vowelPosition;
         }
     } 
     return vowelPosition;
}
}

このコードの目的は、文字列 Word を取得して piglatin に入れることです。単語は子音で始まります。私が抱えている問題は、文字列に特定の子音が含まれ、次に最初の母音が含まれ、同じ子音が含まれている場合、2 番目の子音が削除されることです。

この特定のコードは宿題用ではありませんが、これを宿題に適用します。

4

1 に答える 1

2

私はそれを持っている:

次の行を置き換えます。

word = word.replace(wordBeg,"");

word = word.replaceFirst(wordBeg,"");

ドキュメントを確認してください: http://docs.oracle.com/javase/6/docs/api/java/lang/String.html

于 2013-06-05T16:26:23.927 に答える