java我可以改进这个PigLatin转换器吗?
我是Java的新手,我为PigLatin做了一个小翻译
package stringmanipulation;
public class PigLatinConverter {
public String Convert(String word){
int position = 0;
if (!IsVowel(word.charAt(0))) {
for (int i= 0; i < word.length(); i++) {
if (IsVowel(word.charAt(i))) {
position = i;
break;
}
}
String first = word.substring(position, word.length());
String second = word.substring(0, position) + "ay";
return first + second;
} else {
return word + "way";
}
}
public boolean IsVowel(char c){
if (c == 'a')
return true;
else if(c == 'e')
return true;
else if(c == 'i')
return true;
else if(c == 'o')
return true;
else if(c == 'u')
return true;
else
return false;
}
}
我能做些什么改进吗
在最新的Java版本中是否有我可能不知道的漂亮Java技巧?我是C#出身
谢谢!
# 1 楼答案
严格来说,这并不是一种改进,但Java约定要求方法应该以小写字母开头
# 2 楼答案
下面是一个完整的重写,如果您知道如何读取正则表达式,那么代码的可读性会更高:
这将打印(as seen on ideone.com):
注意
question
变成了estion-quay
,这是根据Wikipedia article的正确翻译。事实上,以上文字和翻译摘自文章正则表达式的工作方式如下:
w
作为前缀,以防万一w
,寻找qu
或非空的辅音序列。如果两者都找不到,那么实际单词以元音开头,所以使用捕获lookback获取w
也就是说:
参考文献