字符串替换函数未正确替换字符-Java
我正在尝试用字符串中的“2”替换特定字符“8”。我想我已经把所有的东西都设置好了,当我在网上寻找例子时,这看起来应该是正确的。但当我打印字符串时,它与我输入的一样。要运行它,请使用“80802”或类似的输入进行测试。谢谢字符串替换函数未正确替换字符-Java,java,replace,character,Java,Replace,Character,我正在尝试用字符串中的“2”替换特定字符“8”。我想我已经把所有的东西都设置好了,当我在网上寻找例子时,这看起来应该是正确的。但当我打印字符串时,它与我输入的一样。要运行它,请使用“80802”或类似的输入进行测试。谢谢 import java.util.Scanner; class PhoneNumber { public static void main(String[] args) { String number = null; Scanne
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.replace()
返回一个新字符串。它不会改变“数字”。一个常见的错误。。。你想要:
number = number.replace('8', '2');
不更改字符串,因为它们是不可变的(不能更改)。相反,这些方法返回一个带有计算值的新字符串。number.replace('8','2');返回不修改数字的正确字符串。要获得所需的功能,必须键入
编号=编号。替换('8','2')
希望这有帮助。啊。因此,这只需创建一个以8作为2的新字符串,并将其重新分配到数字?就可以完美地工作,而且非常有意义!非常感谢您,我很高兴知道这是一个常见的错误=X其他用户先回答,但它确实有帮助!非常感谢。
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 );
}