手机号码生成器是如何制作的
作测试,常常会遇到随机生成手机号码的案例,例如要求手机号生成的惟一性,就会须要每次生成不一样的随机手机号码。
如果你看不懂下面的代码,那么可以在电脑打开浏览器,佰渡搜索一下,海豚号码生成器,它可以选择省份城市,生成号码的,号码格式多种多样,组合丰富,其他相关的功能也多,人性化操作,号段全面最新。
以前在测试一个系统的时候,常常须要用到生成手机号码,可是一个手机号使用后就不能再次生成了,因此常常要想一些可用的手机号,如18888888888等等,每次想手机号也挺麻烦的,因此此次想着作一个生成手机号的小工具。
a public class Phone { public static void getPhoneNum() { String[] Top3 = {"133", "149", "153", "173", "177", "180", "181", "189", "199", "130", "131", "132", "145", "155", "156", "166", "171", "175", "176", "185", "186", "166", "134", "135", "136", "137", "138", "139", "147", "150", "151", "152", "157", "158", "159", "172", "178", "182", "183", "184", "187", "188", "198", "170", "171"}; //随机出真实号段 使用数组的length属性,获得数组长度, //通过Math.random()*数组长度获得数组下标,从而随机出前三位的号段 String firstNum = Top3[(int) (Math.random() * Top3.length)]; //随机出剩下的8位数 String lastNum = ""; final int last = 8; for (int i = 0; i < last; i++) { //每次循环都从0~9挑选一个随机数 lastNum += (int) (Math.random() * 10); } //最终将号段和尾数连接起来 String phoneNum = firstNum+ lastNum; System.out.println(phoneNum); } public static void main(String[] args) { //生成二十个手机号码 int num = 20; System.out.println("手机号码如下:"); for (int i = 0; i < num; i++) { getPhoneNum(); } } } 'list_1': ["134", "135", "136", "137", "138", "139", "147", "150", "151", "152", "157", "158", "159", "172", "178", "182", "183", "184", "187", "188", "198"], # 中国移动号码段 'list_2': ["130", "131", "132", "145", "155", "156", "166", "171", "175", "176", "185", "186"], # 中国联通号码段 'list_3': ["133", "149", "153", "173", "177", "180", "181", "189", "191", "199", "193"] # 中国电信号码段 } cid = None if self.menu.get() == "中国联通": cid = category["list_1"] elif self.menu.get() == "中国移动": cid = category["list_2"] elif self.menu.get() == "中国电信": cid = category["list_3"] return cid @staticmethod def basic_num(): num = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"] return num def create_phone(self): phone_all = list() # 存放全部生成的电话号码 phone_output = list() # 存放去重后的电话号码 for t in range(int(self.count.get())): phone = random.choice(self.get_choice()) + "".join(random.choice(self.basic_num()) for i in range(8)) if phone not in phone_all: phone_output.append(phone) # 判断电话号码是否是出现过,没出现就追加到phone_output中 # phone_output = "".join(phone) phone_all.append(phone) # 把生成的每个号码都追加到phone_all(去重参考物) # phone_all = "".join(phone) # print(phone_output)
推荐阅读
-
代码冲突是如何产生的以及如何解决
-
如何为公司内不同部门设置独立的共享文件夹(前提是 Windows 专业版)
-
我的 iPhone 15/14/13 屏幕卡住无法关闭,该如何修复?以下是四种可能的方法!
-
对于双显卡电脑,如何判断现在使用的是独立显卡还是集成显卡?
-
如何制作具有 25 个 SATA 端口的主板?-单卡:
-
35 岁实现财务*,腾讯程序员手握2300万提前退休?-1000万房产、1000万腾讯股票、加上300万的现金,一共2300万的财产。有网友算了一笔账,假设1000万的房产用于自住,剩下1300万资产按照平均税后20-50万不等进行计算,大约花上26-60年左右的时间才能赚到这笔钱。也就是说,普通人可能奋斗一辈子,才能赚到这笔钱。在很多人还在为中年危机而惶惶不可终日的时候,有的人的35岁,就已经安全着陆,试问哪个打工人不羡慕?但问题是有这样财富积累必然有像样的实力做靠山。没有人可以不劳而获。 看到这里,肯定有人说,那么对于普通人来说,卷可能真就成了唯一的出路。但是卷也有轻松的卷,“偷懒”的卷法,对于程序员而言,刨除掉一时无法改掉的开会传统占用的大部分时间,如何把有限的时间和精力放在真正重要的架构设计、需求设计上,而不是重复的造*,编码、改bug、手动测试。因此在科技改变生活的今天,学会使用AI工具成为程序员们的必备技能。 以全栈式全自动的软件开发工具飞算SoFlu软件机器人为例,作为全球首款面向微服务架构设计和最佳实践的软件机器人,SoFlu软件机器人改变了原来手工编码的作业模式,通过可视化拖拽方式以及参数配置就能实现等同于编写复杂代码的业务逻辑,在设计业务逻辑时就完成了微服务应用开发,做到“业务即图,图即代码”,实现“软件开发,十倍提效”。 而作为飞算SoFlu软件机器人的一个重要组成部分,FuncGPT(慧函数)支持所有类型函数创建。通过自然语言描述Java函数需求,实时生成高质量、高可读性的Java函数代码。生成代码可直接复制到IDEA,或一键导入Java全自动开发工具函数库。 FuncGPT(慧函数)具有五大核心能力: ● 自然语言:通过自然语言即可生成函数,降低软件开发门槛。 ● 秒级函数开发:全自动秒级开发函数,秒级完成,效率千倍提升。 ● 一站式函数开发应用:函数生成即可直接应用,效率、安全有保障。 ● 质量可靠:生成的函数代码符合业界规范、具备良好的可读性,符合最优解。 ● 灵活生成:可以根据开发人员的具体需求生成并支持调整和修改。 以“将文件流转换为File对象”这个需求为例,以下是FuncGPT(慧函数)秒级生成的代码: / 类名:FileConverter // 函数名:convertStreamToFile // 函数功能:将文件流转换为File对象 // POM依赖包:无 import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; public class FileConverter { /** * 将文件流转换为File对象 * @param inputStream 文件流 * @param filePath 文件路径 * @param fileName 文件名 * @return 转换后的File对象 * @throws IOException 如果发生I/O异常 */ public static File convertStreamToFile(InputStream inputStream, String filePath, String fileName) throws IOException { File file = new File(filePath + File.separator + fileName); // 创建File对象 try (FileOutputStream outputStream = new FileOutputStream(file)) { // 创建文件输出流 byte buffer = new byte[1024]; int bytesRead; while ((bytesRead = inputStream.read(buffer)) != -1) { // 从文件流读取数据并写入文件 outputStream.write(buffer, 0, bytesRead); } } return file; // 返回转换后的File对象 } } // 函数示例 // 将文件流转换为File对象示例 // 入参:inputStream,文件流 // 入参:filePath,文件路径 // 入参:fileName,文件名 // 出参:file,转换后的File对象 // 调用示例: // InputStream inputStream = new FileInputStream("example.txt"); // String filePath = "C:\\Users\\User\\Documents"; // String fileName = "example.txt"; // File file = FileConverter.convertStreamToFile(inputStream, filePath, fileName); // System.out.println(file.getAbsolutePath); // 输出结果:例如,将文件流转换为File对象后,文件的绝对路径为:C:\Users\User\Documents\example.txt // 则输出结果为:C:\Users\User\Documents\example.txt 通过分析,不难发现以上代码:
-
多模态 MLLM 是如何实现的 (6) - Dit 扩散变换器
-
位、字节、WORD、DWORD 的区别和联系 - Unicode 和 ANSI 的区别就像输入法中 "全宽 "和 "半宽 "的区别一样。 由于不同的 ANSI 编码有不同的标准(不同的字符集),对于给定的多字节字符串,我们必须知道它使用的是哪种字符集,才能知道它包含哪些 "字符"。对于 UNICODE 字符串来说,无论环境如何,它所代表的 "字符 "内容始终是相同的。Unicode 有一个统一的标准,定义了世界上大多数字符的编码,因此拉丁文、数字、简体中文、繁体中文和日文都可以存储在一个编码中。统一码是一个统一的标准,定义了世界上大多数字符的编码。 比特(Bit)和字节(Byte)的区别:例如USB2.0 标准接口的传输速率为 480Mbps,有一些人误认为是每秒 480 兆比特,同样网络带宽为 2MB,就容易误认为是每秒 2 兆比特。其实,480Mbps 应该是 480 兆比特/秒或 480 兆字节/秒,它等于 "60 兆字节/秒";同样,2MB,应该是 256 兆字节/秒。 Bit 和 Byte 译为 "比特",都是数据计量单位,比特="位 "或 "比特"。 Byte = 字节,即 1byte = 8bits,两者的换算关系为 1:8。 Mbps = mega bits per second(兆位/秒)是速率单位,因此 2M 带宽应为 2 兆位/秒,即 2MBps。MB = 兆字节(Megabytes,兆字节)是单位量,1MB/S(兆字节/秒)= 8MBPS(兆字节/秒)。 通常所说的硬盘容量是指 40GB、80GB、100GB,其中的 B 是指 Byte 也称为 "字节"。 1 KB=1024 字节 1 MB=1024 KB=1024*1024 字节 1 GB=1024 MB=1024*1024*1024 字节 例如,以前所谓的 56KB MODEM 转换过来的 56KBps 除以 8 就是 7Kbyte,所以真正从网上下载文件存在硬盘上的速度也是每秒 7Kbyte;也就是说,用 B 表示传输速度一般指 Bit;用 B 表示容量一般指 Byte。比特、字节、WORD、DWORD 的本质。
-
看看我是如何闯入钓鱼网站的巢穴并摧毁服务器的。
-
记录你是如何爬梳题库中的所有问题,并将其整理成 Wrod 文档的!