【发布时间】:2026-02-11 05:05:02
【问题描述】:
假设我已经有一个字符串
String abc = "Stack";
现在,我想使用扫描器类 only 修改这个字符串!因此,用户应该能够在控制台上看到现有字符串,然后他可以编辑该字符串。 我试过这个,但它只是替换了现有的字符串。
System.out.println("Edit the below string");
System.out.println(abc);
abc = scanner.nextLine();
我将如何实现它?
【问题讨论】:
-
如果您阅读 String 类的文档,您首先会阅读的内容之一是 "Strings are constant; their values cannot be changed after they are created." - 所以没有什么可以编辑 String。您始终可以将变量分配给新字符串。
-
java 中的字符串是不可变的,而从 Scanner 读取的行也是一个字符串,因此是不可变的。因此,您只能在 Java 中将一个字符串替换为另一个字符串。对于用户而言,就您而言,控制台中打印的字符串一开始就无法编辑!
-
如果我不能编辑字符串我可以使用 StringBuffer 或 StringBuilder。但这不是重点。我只想在控制台上编辑这个字符串。
-
简单的答案 - 你无法实现它。您无法在控制台上编辑此字符串。
-
使用
StringBuffer,这是一个字符数组,本质上是可变的
标签: java string java.util.scanner