Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用用户输入的字符串生成器替换所有_Java - Fatal编程技术网

Java 使用用户输入的字符串生成器替换所有

Java 使用用户输入的字符串生成器替换所有,java,Java,我有一个关于StringBuilder的问题。我正在尝试编写一个程序,接受用户输入:例如“DOG DOG CAT”,然后要求用户输入一个他们想更改的单词以及他们想更改的内容。然后,它应该替换所有出现的情况并打印结果 我有一个密码: public class ChangeSentence { public static void main(String[] args) { Scanner sc = new Scanner(System.in);

我有一个关于StringBuilder的问题。我正在尝试编写一个程序,接受用户输入:例如“DOG DOG CAT”,然后要求用户输入一个他们想更改的单词以及他们想更改的内容。然后,它应该替换所有出现的情况并打印结果

我有一个密码:

public class ChangeSentence 
{
    public static void main(String[] args) 
    {
        Scanner sc = new Scanner(System.in);
        System.out.println("Write text: ");
        String text = sc.nextLine();
        StringBuilder x = new StringBuilder(text);
        System.out.println("Write which word would you like to change: ");
        String rep = sc.nextLine();
        System.out.println("For what do you want to change it: ");
        String change = sc.nextLine();
        System.out.println(Pattern.compile(x.toString()).matcher(rep).replaceAll(change));
    }

}
我应该如何改变它以实现结果

谢谢

**忘了提到,我需要使用StringBuilder(没有它,我知道如何编写它)

您只需在原始字符串和

第一个参数是目标字符串

第二个参数是替换字符串


最后一行应替换为以下内容:

System.out.println(text.replaceAll(rep, change));

很简单。您必须按照说明中所述练习一点

结果。取第一个字符串“DOG DOG CAT DOG DOGCAT”,用户输入“DOG”-用户希望更改为“TEST”,因此我们得到TEST CAT TEST DOGCATreplaceAll usesregex@kwoskowicz. 如果需要StringBuilder:
System.out.println(x.toString().replace(rep,change))
or
System.out.println(x.toString().replaceAll(rep,change))如果StringBuilder和replaceAll都应该像在标题中写的那样使用
System.out.println(text.replaceAll(rep, change));