次のコードで発生した問題について助けてください。
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 番目の子音が削除されることです。
この特定のコードは宿題用ではありませんが、これを宿題に適用します。