import java.util.Scanner; public class Second { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("请输入要屏蔽的电话号码;"); String s1 = input.next(); String str1= s1; char[] c1 =str1.toCharArray(); System.out.println(s1.replace("c1[4]", "*")); } }
时间: 2024-03-14 15:43:15 浏览: 332
Einleser:java.util.Scanner 的示例
这段代码的作用是输入一个电话号码并将该号码中的第五位数字替换成星号(*)。
但是代码中存在一些问题,比如:
1. 字符串替换应该使用字符串变量,而不是字符数组变量。
2. 字符串替换的代码应该写成:`s1.replace(String.valueOf(c1[4]), "*")`,其中`String.valueOf(c1[4])`是将字符数组中第五个字符转化为字符串。
3. 没有考虑输入的电话号码不足五位的情况,需要进行判断和处理。
修改后的代码如下:
```
import java.util.Scanner;
public class Second {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("请输入要屏蔽的电话号码:");
String s1 = input.next();
if (s1.length() < 5) {
System.out.println("电话号码不足五位,无法屏蔽!");
return;
}
char[] c1 = s1.toCharArray();
System.out.println(s1.replace(String.valueOf(c1[4]), "*"));
}
}
```
阅读全文