簡體   English   中英

字符串替換 function 不能正確替換字符 - Java

[英]String replace function not replacing characters correctly - Java

我正在嘗試用字符串中的“2”替換特定字符“8”。 我認為我已經正確設置了所有內容,當我在網上查找示例時,看起來應該如此。 但是,當我打印字符串時,就像我輸入它一樣。 要運行它,請使用“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()不會更改字符串,因為字符串是不可變的(它們無法更改)。 相反,這些方法返回一個帶有計算值的新字符串。

number.replace()返回一個新字符串。 它不會改變“數字”。

number.replace('8','2'); 返回不修改數字的正確字符串。 要獲得所需的功能,您必須鍵入 number = number.replace('8','2');

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 = number.replace('8', '2');

    System.out.println("Your number is: " + number );

}

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM