如何让Java Scanner输入的参数用*代替
时间: 2024-05-10 08:21:14 浏览: 79
您可以使用Java的Scanner类中的nextLine()方法来读取输入,并使用String类的replace()方法来将输入中的所有字符替换为*。
以下是示例代码:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入您的密码:");
String password = scanner.nextLine();
String hiddenPassword = password.replace(password, "*".repeat(password.length()));
System.out.println("您输入的密码为:" + hiddenPassword);
}
}
```
在上面的代码中,我们首先使用Scanner类的nextLine()方法读取用户输入的字符串并将其存储在名为password的变量中。然后,我们使用String类的replace()方法将password中的所有字符替换为*,并将结果存储在名为hiddenPassword的变量中。最后,我们输出hiddenPassword。
请注意,上面的代码使用了Java 11中的新特性,即String类的repeat()方法。如果您在较旧的Java版本中使用上面的代码,则应该使用循环来重复*。例如,可以使用以下代码替换上面的第5行:
```java
String hiddenPassword = "";
for (int i = 0; i < password.length(); i++) {
hiddenPassword += "*";
}
```
阅读全文