在java中没有方法替换单个字符

时间:2016-10-07 23:14:06

标签: java string methods replace

如果给出一个字符串,例如" doodle"我怎么能取代" e"提出以下问题。

您想要替换哪个角色? 你想用什么替换它? 您想要替换哪个?

用户输入1作为最终答案,程序将返回" doodl _" 用_代替他们的字母。

规定是你只能使用方法length(),charAt(),substring和equals

  

if(command1.equalsIgnoreCase(" replace single"))           {

        System.out.println("Enter the character to replace");
        String replace1=keyboard.nextLine().substring(0,1);
        char replace2=replace1.charAt(0);
        System.out.println("Enter the new character");
        String replace3= keyboard.nextLine().substring(0,1);
        char replace4= replace3.charAt(0);
        System.out.println("Which "+replace2+" would you like to replace?");
        int position=keyboard.nextInt();
        int i=0;

        for(i=0;i<input.length();i++)
        {   
            char ichar=input.charAt(i); 


            if(ichar==replace2)
            {
                if(position==i)

                {
                input=input.substring(0,i)+replace4+input.substring(i+1);   
                }

&GT;

这是当前代码,只能替换字母,因为字母的索引也是要替换的第n个字母的位置。

1 个答案:

答案 0 :(得分:1)

每次看到字符时,您都可以从位置中减去1,只要您的位置为0,就会找到您的位置:

for(i=0;i<input.length();i++)
{   
    char ichar=input.charAt(i); 
    if(ichar==replace2)
    {
        position--;
        if(position == 0)
        {
            input=input.substring(0,i)+replace4+input.substring(i+1);   
        }
    }
}