【发布时间】:2013-11-22 21:23:01
【问题描述】:
所以我的代码适用于某些单词但不适用于其他单词它会冲出字符串索引超出范围:-1 我想在每个元音和元音簇之前打印出 ub ex dubious 将是 dububious 或 cat loveo 将是 lubovudeo
字符串语句,设置;
sentance = "toster iooppp";
set= translate(sentance);
System.out.println(set);
}
public static String translate (String sentence){
String set = " ";
sentence= sentence.toLowerCase();
scan = new Scanner (sentence);
while (scan.hasNext()) {
set+= toUbbi (scan.next());
set += " ";
}
return set;
}
private static String toUbbi(String word ) {
String str= word;
String new_str="";
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (isVowel(c) && isVowel(str.charAt(i -1)) )
{ // If is a vowel
new_str += "ub" ;
}
new_str += c;
}
return new_str;
}
private static boolean isVowel(char c)
{
if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u' ){
return true;}
return false;
【问题讨论】:
-
这段代码不完整——两边都缺行。
-
猫爱不是 lubovububeo 吗?
-
我怀疑你的逻辑不正确,当你让它不崩溃时,你可能会发现它给了你错误的答案。我会手动完成它,看看
toUbbi是如何工作的。还要确保逻辑在边界处执行您想要的操作,即当i为 0 时,当它为str.length()-1时。