请设计一个方法,能够验证键盘输入的电话号码是否正确, 如果输入电话号码不正确,
按照如下要求将每一种情况抛出对应的异常信息; 要求 :
(1) 全数字
(2) 电话号码总长度11位
(3) 开头必须为1
(4) 第二位为3-9的数字
(5)如果输入电话号码正确, 将电话号码的4-7位使用 * 表示 例如:138****6666
import javax.security.auth.login.FailedLoginException;
import java.util.Scanner;
public class work3 {
public static void main(String[] args) throws FailedLoginException {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入电话号码:");
String a = scanner.next();
char b[] = a.toCharArray(); //将字符串转化为字符数组
for (int i =0;i<b.length;i++) { //判断是否是数字
if (b[i]<'0'||b[i]>'9') {
throw new FailedLoginException("输入不是数字");
}
if (b.length != 11){ //判断输入电话号码的长度
throw new FailedLoginException("长度不对");
}
if (b[0]!='1'){ //判断开头是否为1
throw new FailedLoginException("开头");
}
if (b[1]<'3'||b[1]>'9'){ //判断第二位是否是3-9
throw new FailedLoginException("第二位");
}
}
for (int x = 3;x < 7;x++){ 将3-7位用*表示
b[x] = '*';
}
System.out.println(b);
}
}
运行效果