第一种
思路:使用字符串的截取,截取前三位,再截取后四位,最后拼接。详细代码如下:
import java.util.Scanner;
public class login {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入一个手机号:");
String phoneNumber = sc.next();
//截取前三位
String beginStr = phoneNumber .substring(0,3);
//截取后四位
String endStr = phoneNumber .substring(7);
String endnum = beginStr+"****"+endStr;
System.out.println(endnum);
}
}
第二种
思路:将中间四位按照索引摘出改为****,再拼接(注意不能使用replace,否则12312341234会输出123********,replace遇到符合条件就替换)。详细代码如下:
import java.util.Scanner;
public class login {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入一个手机号:");
String phoneNumber = sc.next();
int middleStartIndex = (phoneNumber.length() - 4) / 2;
int middleEndIndex = middleStartIndex + 4;
// 构造屏蔽后的手机号
String maskedPhoneNumber = phoneNumber.substring(0, middleStartIndex) +
"****" +
phoneNumber.substring(middleEndIndex);
System.out.println("屏蔽后的手机号:" + maskedPhoneNumber);
}
}
第二种比较复杂,但不失为一种方法,希望对大家有所帮助。