用短语将短语翻译成猪拉丁语

时间:2014-04-23 20:20:41

标签: java string return translate

我目前正在编写一个猪拉丁语翻译器,将字符串分解为单词然后翻译它们。如果一个单词的前四个字母中的任何一个是辅音,它会将这些字母移到后面并添加一个“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节目呢?

1 个答案:

答案 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;
}
相关问题