我需要帮助完成以下操作:
- 使用Scanner类接收输入(我已经会了)
- 从scanner中获取输入并将其转换为字符串
- 使用
replaceAll
从用户输入中删除0-9的数字。
public static void main(String[] args) {
Scanner firstname = new Scanner(System.in);
System.out.println("Please enter your first name:");
String firstname1 = firstname.next();
firstname1.replaceAll("[^0-9]","");
System.out.println(firstname1);
更新的代码。感谢Hovercraft。现在我正在研究如何检索所有字母字符,因为使用下面的代码,我只能得到用户输入的数字值之前的字母:
import java.util.Scanner;
public class Assignment2_A {
public static void main(String[] args) {
Scanner firstname = new Scanner(System.in);
System.out.println("Please enter your first name:");
String firstname1 = firstname.next();
firstname1 = firstname1.replaceAll("[^A-Z]","");
System.out.println(firstname1);
firstname1.replaceAll("[^0-9]","");
,因为它不会改变firstname1字符串,而是返回一个已更改的字符串。你必须将返回的字符串重新赋值给firstname1变量:firstname1 = firstname1.replaceAll("[^0-9]","");
这样做的原因是因为字符串是不可变的。一旦创建了一个字符串对象,就无法更改它,但可以更改字符串变量引用的字符串对象,这是微妙但重要的区别。 - Hovercraft Full Of Eels