字符串替换为用户';s输入-Java
我不确定我是否正确地处理了这个问题。我正在写一个程序来练习这一点。用户输入的内容是什么?我希望能够将其中一个单词作为输出,并将其更改为其他内容 这是我的密码:字符串替换为用户';s输入-Java,java,Java,我不确定我是否正确地处理了这个问题。我正在写一个程序来练习这一点。用户输入的内容是什么?我希望能够将其中一个单词作为输出,并将其更改为其他内容 这是我的密码: import java.util.Scanner; public class StringReplace { private static Scanner input; public static void main(String[] args) { String Line; input = new Scanne
import java.util.Scanner;
public class StringReplace {
private static Scanner input;
public static void main(String[] args) {
String Line;
input = new Scanner( System.in );
System.out.print("Please Enter a String: ");
Line=input.next();
Line = Line.replace("Wake", "Wake Business");
}
}
例如,在运行程序后,会提示用户
Please Enter a String:
我会进入“唤醒美国”,当我点击进入时,什么也没有发生。我知道我走错了方向,不知道如何纠正它。是的,我是初学者。有人能帮我解决这个问题吗?我将不胜感激。提前感谢您。在Java中,变量从不以大写字母开头,因为类是您开始编写时唯一以大写字母开头的对象,因此您引用了类。。。 将其用作变量名:
String line;
并将其添加到您的代码@末尾:
System.out.println(line);
您必须将该行打印到console才能看到它。Java会在某种程度上握住你的手,但不会那么远 在变量
行
上运行操作后(顺便说一句,行
应作为变量置于大小写下),您应该执行此操作,它将打印出您的变量
System.out.println(Line);
就我所记得的,
Scanner
类的标准分隔符是一个空白,因此它只捕获第一部分(Wake)
使用
input.useDelimiter(“\n”)在调用next()
方法之前,代码>将被解决。您的错误出现在行的大写字母中
试试这个(它有效):
如果要读取整行,请使用“input.nextLine”
要输出到标准输出,请使用“System.out.println()
所以你可以像这样修改你的代码
public static void main(String[] args) {
String line;
input = new Scanner(System.in);
System.out.print("Please Enter a String: ");
line = input.nextLine();
System.out.println(line);
line = line.replace("Wake", "Wake Business");
System.out.println(line);
}
在您将行
设置为带有替换词的字符串后,如果您真的使用它做些什么,也许会有所帮助?比如,输出它?替换它后尝试打印行:System.out.println(line);嗯?你预计会发生什么?如果你想让某些事情发生,你需要编写代码让它发生!有道理。是的,把它打印出来会有帮助的。好的,我这样做了,但它并没有像我输入字符串的示例那样打印行的其余部分。“唤醒美国”正在打印“唤醒商业”。还有什么建议吗?请确认,我添加了这个“System.out.println(line);”,但它没有添加用户输入的其余字符串。您没有读取整个字符串。打印“请输入字符串”后,您需要调用Line=input.nextLine()
,这样就可以得到用户输入的整个String
。好的,但是如何才能打印出其余字符串?因为您要打印一个字符串。替换您用另一个字符串替换该字符串,那么另一个字符串就会丢失。然后在代码System.out.println(第行)的末尾执行此操作,在这里,您将字符串打印到控制台框中,在控制台框中输入字符串。这应该结束你的代码。;-)哦,它不是:System.out.print它是System.out.println;-),在代码中编辑该字符串。@JonasLibbrecht使用replace()
不会替换整个字符串或使另一个字符串丢失。它将仅用给定的字符串替换给定的模式。变量使用小写字母是一种惯例,而不是语言规则。使用Line
作为变量应该仍然有效,除非有其他错误。事实上没有。她用大写字母pnemonic命名变量是错误的,这是可以理解的,但这不是她错误的原因,也不是她的问题。我知道这是一个惯例,但我只改变了它,它就起作用了。。。(您可以测试)。我不知道为什么,但这是功能性的。也许她的IDE配置为不允许变量使用大写,因为这不仅仅是一个简单的约定。程序从一开始就工作,最后的问题是字符串没有被完整读取。。。即使您没有更改第行的大写字母L,代码也会在末尾打印“Wake Business”。这是一个惯例,也是一个非常健康的惯例,但这并不意味着如果你不遵循它,你的代码就不能工作。我认为程序在开始时不起作用,因此我测试了它(改为小写)并且它起作用了,但我没有测试开始时的程序:p实际上是我,在实际有nextLine()
method:)的情况下更改换行符的分隔符回答得很好。
public static void main(String[] args) {
String line;
input = new Scanner(System.in);
System.out.print("Please Enter a String: ");
line = input.nextLine();
System.out.println(line);
line = line.replace("Wake", "Wake Business");
System.out.println(line);
}