Ubbi Dubbi 版本的规则是: 任何元音序列(a, e, i, o, u)在它们之前都添加了音节 “ub”。 任何出现的“y”都视为辅音,任何其他字母或标点符号都将被保持不变。因此,单词“you”变成了“yubou”,而单词“seeking” 变成了“subeekubing”。如何实现该算法。
我之前写过一个 可以一起讨论讨论
public class UbbiDubbiTranslator {
private static final String VOWELS = "aeiou";
/**
* 将单词按照Ubbi Dubbi规则进行翻译
*
* @param word 要翻译的单词
* @return 翻译后的结果
*/
public static String translate(String word) {
StringBuilder translatedWord = new StringBuilder();
for (char c : word.toCharArray()) {
if (Character.isLetter(c)) { //检查字符是否是一个字母
if (VOWELS.contains(Character.toString(Character.toLowerCase(c)))) {
//如果字符是元音,将 "ub" 添加到翻译后的单词中
translatedWord.append("ub");
}
//添加原始字符到翻译后的单词中
translatedWord.append(c);
} else {
//对于辅音或其他字符(例如标点符号),直接添加到翻译后的单词中
translatedWord.append(c);
}
}
return translatedWord.toString();
}
public static void main(String[] args) {
String word = "seeking";
String translatedWord = translate(word);
System.out.println(translatedWord); //打印输出subeekubing
word = "you";
translatedWord = translate(word);
System.out.println(translatedWord); //打印输出yubou
}
}