java - 字符串替换函数无法正确替换字符 - Java

标签 java replace character

我正在尝试将字符串中的特定字符“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 );

    }
}

最佳答案

一个常见的错误......你想要:

    number = number.replace('8', '2');

String.replace()不会更改字符串,因为 Strings是不可变的(它们不能改变)。相反,此类方法返回带有计算值的新字符串。

关于java - 字符串替换函数无法正确替换字符 - Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6722110/

相关文章:

java - 一个 JFrame 中的多个 JPanel 不显示顶部面板

java - 无法从 ProcessBuilder 运行另一个 java 程序?

java - BigDecimal 刻度不起作用

c# - 查找并替换文件中的数据(不加载整个文件)?

javascript - 在 Javascript/JQuery 中,如何像 Twitter 那样替换以 '@' 符号开头的字符串中的任何单词?

perl - 转义 > 字符

java - 转换测量程序。如果声明说;预期的?

Excel VBA Cells.Find 失败,除非我使用 Application.Wait。为什么?

c# - 如何替换字符串中找到的列表中的大量字符串值

swift - 快速转义单引号