字符串替换函数无法正确替换字符 - Java
我正在尝试将字符串中的特定字符“8”替换为“2”。我认为我已经正确设置了所有内容,当我在网上查找示例时,这看起来应该是这样。当我打印字符串时,它就像我输入的那样。要运行它,请使用“80802”或一些类似的输入对其进行测试。谢谢!
import java.util.Scanner;
class PhoneNumber {
public static void main(String[] args) {
String number = null;
Scanner scan = new Scanner(System.in);
// Prompt the user for a telephone number
System.out.print("Enter your telephone number: ");
// Input the user's name
number = scan.nextLine();
// Replace the relevant letters with numbers
number.replace('8', '2');
System.out.println("Your number is: " + number );
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
一个常见的错误...您想要:
String.replace() 不会更改字符串,因为 字符串 是不可变的(它们不能更改)。相反,此类方法返回带有计算值的新字符串。
A common mistake... You want:
String.replace() doesn't change the String, because Strings are immutable (they can not be changed). Instead, such methods return a new String with the calculated value.
number.replace()
返回一个新字符串。它不会改变“数字”。number.replace()
returns a new string. It does not change `number'.number.replace('8','2');返回正确的字符串,但不修改数字。要获得您想要的功能,您必须输入
number = number.replace('8','2');
希望这有帮助。
number.replace('8','2'); returns the correct string it does not modify number. To get your desired functionality you must type
number = number.replace('8','2');
Hope this helps.