我正在尝试用字符串中的'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 );
}
}
答案 0 :(得分:6)
一个常见的错误......你想要:
number = number.replace('8', '2');
String.replace()不会更改字符串,因为Strings是不可变的(它们无法更改)。相反,这些方法返回一个带有计算值的新String。
答案 1 :(得分:2)
number.replace()
返回一个新字符串。它不会改变“数字”。
答案 2 :(得分:0)
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 );
}
希望这有帮助。