Java 我在程序中做错了什么?
我正在编写一个程序,如果有人键入以下两行: 你好,我想订一个FZGH 儿童餐 程序将按如下方式输出: 你好,我想点一份儿童餐 换句话说,用户输入到句子中的“FZGH”将替换为第二行的单词,如您所见:“FZGH”替换为“KID's Fine”。有点明白我的意思吗?如果没有,我可以详细说明,但这是我可以解释的最好的 我真的快解决了!我当前的输出是:你好,我想点一份FZGH儿童餐 我的程序没有将“FZGH”替换为“儿童餐”,我不知道这是为什么。我以为通过使用.replaceAll()东西,它会将“FZGH”替换为“儿童餐”,但事实并非如此。以下是我目前的计划:Java 我在程序中做错了什么?,java,Java,我正在编写一个程序,如果有人键入以下两行: 你好,我想订一个FZGH 儿童餐 程序将按如下方式输出: 你好,我想点一份儿童餐 换句话说,用户输入到句子中的“FZGH”将替换为第二行的单词,如您所见:“FZGH”替换为“KID's Fine”。有点明白我的意思吗?如果没有,我可以详细说明,但这是我可以解释的最好的 我真的快解决了!我当前的输出是:你好,我想点一份FZGH儿童餐 我的程序没有将“FZGH”替换为“儿童餐”,我不知道这是为什么。我以为通过使用.replaceAll()东西,它会将“FZ
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);
}
现在你的问题解决了,一定要接受答案。干杯