【发布时间】:2016-01-05 02:01:05
【问题描述】:
我想知道如何修复我的元音计数器程序,我搜索了很多论坛但没有任何运气。实验室的描述是“将字符串中的所有元音更改为数字。确保数字范围为 0-9,并且当计数 > 9 时将数字重置为 0。”因此,样本输入将是“abcdef”,样本输出将是“0bcd1f”。
我的主要代码是
public class VowelCounter
{
public static String getNumberString(String s)
{
int counter = 0;
for(int i = 0; i<s.length(); i++)
{char g = s.charAt(i);
if(g =='a')
{
counter++;
s.replace(g,counter);
}
else if(g =='e')
{
counter++;
s.replace(g,counter);
}
else if(g =='i')
{
counter++;
s.replace(g,counter);
}
else if(g =='o')
{
counter++;
s.replace(g,counter);
}
else if(g =='u')
{
counter++;
s.replace(g,counter);
}
else if(g =='A')
{
counter++;
s.replace(g,counter);
}
else if(g =='E')
{
counter++;
s.replace(g,counter);
}
else if(g =='I')
{
counter++;
s.replace(g,counter);
}
else if(g =='O')
{
counter++;
s.replace(g,counter);
}
else if(g =='U')
{
counter++;
s.replace(g,counter);
}
}
return s;
}
}
Runner 类是
public class VowelCounterRunner
{
public static void main ( String[] args )
{
System.out.println( VowelCounter.getNumberString("abcdef") );
System.out.println( VowelCounter.getNumberString("hhhhhhh") );
System.out.println( VowelCounter.getNumberString("aaaaaaa") );
System.out.println( VowelCounter.getNumberString("catpigdatrathogbogfrogmoosegeese") );
System.out.println( VowelCounter.getNumberString("hhhhhhh1234356HHHHDH") );
System.out.println( VowelCounter.getNumberString("AEIOUaeiou87878alkjdaslwlejrlajflawjkflwj") );
System.out.println( VowelCounter.getNumberString("") );
System.out.println( VowelCounter.getNumberString("x") );
System.out.println( VowelCounter.getNumberString("e") );
}
}
我遇到的错误是替换方法。它说“没有找到适合 replace(char,int) 的方法,方法 java.lang.String.replace(char,char) 不适用;(参数不匹配;从 int 到 char 的可能有损转换) 这是我的第一堂编程课,所以我真的不知道如何解决这个问题。
【问题讨论】: