for循环中的Java特定字符
我已经编写了一个代码来反转给定字符串中元音的顺序,但是我还需要保持元音大写在字符串中的原始位置。例如,input:Java是有趣的输出:Juvi作为Fan,而不是Juvi作为Fan 以下是我目前输出JuvI为Fan的代码:for循环中的Java特定字符,java,for-loop,Java,For Loop,我已经编写了一个代码来反转给定字符串中元音的顺序,但是我还需要保持元音大写在字符串中的原始位置。例如,input:Java是有趣的输出:Juvi作为Fan,而不是Juvi作为Fan 以下是我目前输出JuvI为Fan的代码: 如果字符串中的大写字母多于小写字母,我会记录所有大写字母或小写字母 List capitalLetters=new ArrayList;//大写字母的位置。 对于int i=0;il; 返回新的字符串字符; } /** *查找字符串中任何给定字符的下一个位置,从给定位置开始。
如果字符串中的大写字母多于小写字母,我会记录所有大写字母或小写字母 List capitalLetters=new ArrayList;//大写字母的位置。 对于int i=0;i
您好,如果一个人声是单词的第一个字母,您只想将其大写?然后您需要跟踪哪个音节是否大写。否,它需要保持任何元音的大写,因此如果使用JAva is Fun输入,则输出将是JUvi,因为没有返回语句。我添加了return str,但它无法将char[]转换为java.lang.Stringstatic boolean Is元音字符c{return
c='a'| c='a'| c='e'| c='e'| c='i'| c='i'| c='o'| c='o'| c='u'| c='u'| c='u';我回答的最后一部分是替换这个函数的主体,没有必要,只是更干净。是的,我指的是第一个代码主体。没有返回语句。我已经编辑过,此代码应该放在main中,它调用reversevowels,然后整理出大写@Beanieleung抱歉没有澄清,它需要在代码体中返回,而不是通过main
static boolean isVowel(char c)
{
return (c == 'a' || c == 'A' || c == 'e'
|| c == 'E' || c == 'i' || c == 'I'
|| c == 'o' || c == 'O' || c == 'u'
|| c == 'U');
public static String reverseVowels(String text)
{
int index = 0;
char[] str = text.toCharArray();
String vowel = "";
for (int i = 0; i < str.length; i++)
{
if (isVowel(str[i]))
{
index++;
vowel += str[i];
}
}
for (int i = 0; i < str.length; i++)
{
if (isVowel(str[i]))
{
str[i] = vowel.charAt(--index);
}
}
return String.valueOf(str);