[英]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.