博主:👍不许代码码上红
欢迎:🐋点赞、收藏、关注、评论。
格言: 大鹏一日同风起,扶摇直上九万里。文章目录
- 问题提出:如何判断电话号码属于哪个运营商?
- 一、代码设计思路
- 二、完整源代码
- 二、运行截图
可以根据手机号码前3位来快速判断一个手机号码所属的运营商。
我国手机号码有11位数,前3位是网络识别号(运营商号码段)、4-7位是地区编码(HLR归属位置寄存器)、8-11位是用户号码(随机分配),因此我们可以根据手号码前3位来快速判断手机号码运营商。
目前我国三大电信运营商号码段分别如下:
中国电信:133,153,177,180,181,189;
中国联通:130,131,132,155,156,185,186,145,176;
中国电信:134,135,136,137,138,139,147,150,151,152,157,158,159,178,182,183,184,187,188。
trim()函数
功能:trim() 方法用于删除字符串的头尾空白符。
startsWith()函数
功能:startsWith() 方法用于检测字符串是否以指定的前缀开始。
substring() 函数
功能:substring() 方法返回字符串的子字符串。
1.1 定义四个字符串
private static String CMCC = "移动"; //移动private static String UNICOM = "联通"; //联通private static String TELECOM = "电信"; //电信private static String UNKNWON = "未知"; //未知
1.2 判断号码长度是否合法
if (phoneNum == null || phoneNum.length() < 11) {return UNKNWON;if (phoneNum.length() != 11) {return UNKNWON;}
1.3 根据前三个字符判断返回相对应的值
if (head3.equals("135") || head3.equals("136") || head3.equals("137")|| head3.equals("138") || head3.equals("139")|| head3.equals("150") || head3.equals("151")|| head3.equals("152") || head3.equals("157")|| head3.equals("158") || head3.equals("159")|| head3.equals("182") || head3.equals("187")|| head3.equals("188") || head3.equals("147")) {return CMCC;}
package test;public class TestYYS {private static String CMCC = "移动";//移动private static String UNICOM = "联通"; //联通private static String TELECOM = "电信"; //电信private static String UNKNWON = "未知"; //未知private static boolean isNumeric(String msg) {for (int i = 0; i < msg.length(); i++) {if (java.lang.Character.isDigit(msg.charAt(i))) {continue;}return false;}return true;}public static String getOperater(String phoneNum) {String head3 = "";String head4 = "";phoneNum = phoneNum.trim();if (phoneNum == null || phoneNum.length() < 11) {return UNKNWON;} else {if (phoneNum.startsWith("+")) {phoneNum = phoneNum.substring(1);}if (phoneNum.startsWith("86")) {phoneNum = phoneNum.substring(2);}}if (phoneNum.length() != 11) {return UNKNWON;}if (!isNumeric(phoneNum)) {return UNKNWON;}head3 = phoneNum.substring(0, 3);head4 = phoneNum.substring(0, 4);if (head3.equals("135") || head3.equals("136") || head3.equals("137")|| head3.equals("138") || head3.equals("139")|| head3.equals("150") || head3.equals("151")|| head3.equals("152") || head3.equals("157")|| head3.equals("158") || head3.equals("159")|| head3.equals("182") || head3.equals("187")|| head3.equals("188") || head3.equals("147")) {return CMCC;}if (head4.equals("1340") || head4.equals("1341")|| head4.equals("1342") || head4.equals("1343")|| head4.equals("1344") || head4.equals("1345")|| head4.equals("1346") || head4.equals("1347")|| head4.equals("1348")) {return CMCC;}if (head3.equals("130") || head3.equals("131") || head3.equals("132")|| head3.equals("145") || head3.equals("155")|| head3.equals("156") || head3.equals("185")|| head3.equals("186")) {return UNICOM;}if (head3.equals("133") || head3.equals("153") || head3.equals("180")|| head3.equals("189")) {return TELECOM;}if (head4.equals("1349")) {return TELECOM;}return UNKNWON;}public static void main(String[] args) {System.out.println(TestYYS.getOperater("152********"));}
}
上一篇: 五年级作文街头错别字(精彩6篇)
下一篇: 我爱家乡的秋天五年级作文【精彩6篇】