Java 我在程序中做错了什么?

Java 我在程序中做错了什么?,java,Java,我正在编写一个程序,如果有人键入以下两行: 你好,我想订一个FZGH 儿童餐 程序将按如下方式输出: 你好,我想点一份儿童餐 换句话说,用户输入到句子中的“FZGH”将替换为第二行的单词,如您所见:“FZGH”替换为“KID's Fine”。有点明白我的意思吗?如果没有,我可以详细说明,但这是我可以解释的最好的 我真的快解决了!我当前的输出是:你好,我想点一份FZGH儿童餐 我的程序没有将“FZGH”替换为“儿童餐”,我不知道这是为什么。我以为通过使用.replaceAll()东西,它会将“FZ

我正在编写一个程序,如果有人键入以下两行:

你好,我想订一个FZGH

儿童餐

程序将按如下方式输出:

你好,我想点一份儿童餐

换句话说,用户输入到句子中的“FZGH”将替换为第二行的单词,如您所见:“FZGH”替换为“KID's Fine”。有点明白我的意思吗?如果没有,我可以详细说明,但这是我可以解释的最好的

我真的快解决了!我当前的输出是:你好,我想点一份FZGH儿童餐

我的程序没有将“FZGH”替换为“儿童餐”,我不知道这是为什么。我以为通过使用.replaceAll()东西,它会将“FZGH”替换为“儿童餐”,但事实并非如此。以下是我目前的计划:

public static void main(String[] args) {
    sentences();
}

public static void sentences() {
    Scanner console = new Scanner(System.in);
    String sentence1 = console.nextLine();
    String sentence2 = console.nextLine();
    //System.out.println(sentence1 + "\n" + sentence2);
    String word = sentence1.replaceAll("[FZGH]", "");
    word = sentence2;
    System.out.print(sentence1 + word);

}
我在哪里搞砸了,导致FZGH仍然出现在输出中?

使用

sentence1 = sentence1.replaceAll("FZGH", "");
String word = sentence2;
您的第一个(也是主要的)问题是,您正在创建一个名为
word
的新
String
,并将其设置为
sentence1.replaceAll(“[FZGH]”,“)
的值。然后立即将
word
的值更改为
sentence2
,因此替换内容将丢失

相反,将
sentence1
设置为
sentence1.replaceAll(“FZGH”和“”)
将更改
语句1
以不再包含字符串
“FZGH”
,这就是您要使用的字符串。实际上,您根本不需要
word
值,因此,如果您想删除它,它不会有任何影响


此外,使用
[FZGH]
将替换字符串中的所有
F
Z
G
、和
H
——您应该改用
FZGH
,因为这只会删除一行中所有四个字母的实例。

您正在重新分配字符串“word”

代替线路:

String word = sentence1.replaceAll("[FZGH]", "");
word = sentence2;
System.out.print(sentence1 + word);
使用以下行

sentence1 = sentence1.replaceAll("[FZGH]", "");
System.out.print(sentence1 + sentence2);

我想你有几个错误。也许下面是接近

public static void main(String[] args) {
    sentences();
}

public static void sentences() {
    Scanner console = new Scanner(System.in);
    String sentence1 = console.nextLine();
    String sentence2 = console.nextLine();
    String sentence3 = sentence1+sentence2;
    String final = sentence3.replaceAll("FZGH", "");
    System.out.print(final);
}

实际上,replace方法返回一个字符串,该字符串应再次分配给语句1。你可以运行这段代码,它可以正常工作。 公共静态void main(字符串[]args){ 句子(); }

public static void sentences() {
        Scanner console = new Scanner(System.in);
        String sentence1 = "HELLO, I’D LIKE TO ORDER A FZGH";
        String sentence2 = "KID’S MEAL";
        //System.out.println(sentence1 + "\n" + sentence2);
         sentence1 = sentence1.replace("FZGH", "");
       String word = sentence2;
        System.out.print(sentence1 + word);

    }

现在你的问题解决了,一定要接受答案。干杯