我目前正在编写一个猪拉丁语翻译器,将字符串分解为单词然后翻译它们。如果一个单词的前四个字母中的任何一个是辅音,它会将这些字母移到后面并添加一个“ay”。如果单词以元音开头,请在单词的末尾添加“way”。
显然我的猪拉丁语翻译代码不输出翻译的字符串,而是它给了我原始的英语单词分解在几个不同的部分。我对下一步要做的事情有点困惑,如果有人能帮助我诊断问题那么它会很棒。谢谢!
public class WL10Driver {
public String convertToPig(String english){
String pigLatin = "";
int pigLatinWord = 0;
String vowel = "[aeiouAEIOU]";
for(int i = 0; i<english.length(); i++){
char let = english.charAt(i);
int ind = vowel.indexOf(let);
if(ind > -1){
if(i == 0){
return english+"yay";
}
else{
String start = english.substring(0,i);
String end = english.substring(i);
return end+start+"ay";
}
}
}
return english+"ay";
}
}
似乎问题在于调用方法。我让它显示JOptionPane.showMessageDialog(null,english);
。
我该怎么做JOptionPane节目呢?
答案 0 :(得分:0)
boolean isVowel(char ch) {
return "aeiouAEIOU".contains("" + ch);
}
public String convertToPig(String english) {
if (english == null) return null;
for (int i = 0; i < Math.min(english.length(), 4); i++) {
char ch = english.charAt(i);
if (i == 0 && isVowel(ch)) return english + "way";
if (!isVowel(ch)) {
String tmp = "";
if (i < english.length() - 1) tmp = english.substring(i + 1);
return english.substring(0, i) + tmp + ch + "ay";
}
}
return english;
}