需求说明

要求根据用户输入,生成相应组数的电话号码

实现思路

1、通过百度,获取对应真实世界中电话号码的头三位数

2、采用Math.random()方法,生成电话号码的后八位数

代码内容

随机生成任意要求数量的电话号码

package com.work;

import java.util.Scanner;

/**

* @auther::9527

* @Description: 随机生成电话号码

* @program: shi_yong

* @create: 2019-07-30 10:22

*/

public class RandomPhoneNum {

static Scanner sc = new Scanner(System.in);

public static void main(String[] args) {

//询问需要多少个随机号码

boolean boo = true;

int num = 0;

do {

//如果用户输入的不是一个整数,就循环要求用户输入一个整数

System.out.println("你需要多少组电话号码,请输入一个整数");

String answer = sc.next();

try {

//将用户的输入转化为整数

num = Integer.parseInt(answer);

//如果转换成功,boo就设置为false使其可以跳出循环

boo = false;

} catch (Exception e) {

//如果用户输入的不是一个整数,就抛出异常,要求用户重新输入

System.out.println("你输入的不是一个整数,请重新输入");

}

} while (boo);

System.out.println("你要的手机号码如下:");

//将循环次数设置为用户需要的号码的数量

for (int i = 0; i < num; i++) {

//调用静态方法生成手机号码

getPhoneNum();

}

}

//定一个静态方法,专门生成单个的号码

public static void getPhoneNum() {

//给予真实的初始号段,号段是在百度上面查找的真实号段

String[] start = {"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 phoneFirstNum = start[(int) (Math.random() * start.length)];

//随机出剩下的8位数

String phoneLastNum = "";

//定义尾号,尾号是8位

final int LENPHONE = 8;

//循环剩下的位数

for (int i = 0; i < LENPHONE; i++) {

//每次循环都从0~9挑选一个随机数

phoneLastNum += (int) (Math.random() * 10);

}

//最终将号段和尾数连接起来

String phoneNum = phoneFirstNum + phoneLastNum;

System.out.println(phoneNum);

}

}

运行结果

以上就是本文的全部内容,希望对大家的学习有所帮助

您可能感兴趣的文章:

java随机生成一个号码_Java 随机生成任意组电话号码过程解析相关推荐

  1. java消费者和生产者模型_Java实现简易生产者消费者模型过程解析

    一.概述 一共两个线程,一个线程生产产品,一个线程消费产品,使用同步代码块方法,同步两个线程.当产品没有时,通知生产者生产,生产者生产后,通知消费者消费,并等待消费者消费完. 需要注意的是,有可能出现 ...

  2. Java 如何从一个 List 中随机获得元素

    概述 从一个 List 中随机获得一个元素是有关 List 的一个基本操作,但是这个操作又没有非常明显的实现. 本页面主要向你展示如何有效的从 List 中获得一个随机的元素和可以使用的一些方法. 选 ...

  3. Shell编程 ——for循环、if语句、sleep睡眠。——每秒钟生成一个文件,一共生成60个文件

    实践: 每秒钟生成一个文件,一共生成60个文件,文件名格式是"20190101_101010.txt".但是,第10.20秒,不生成文件. #!/bin/sh for((i=0;i ...

  4. python随机生成一个地区地址_Python生成随机MAC地址

    利用python代码生成一个随机的MAC地址,使用python网络编程时或可用上,如果使用scapy模块则可直接利用RandMAC()函数来生成MAC. python 复制代码 代码如下: impor ...

  5. python随机生成一个数字_python随机生成

    在数据分析中,数据的获取是第一步,numpy.random 模块提供了非常全的自动产生数据API,是学习数据分析的第一步. 总体来说,numpy.random模块分为四个部分,对应四种功能: 简单随机 ...

  6. java 判断是否为男女_java:生成中文姓名(区分男女)

    需求 因为某些特殊原因需要生成一些订单数据.所以需要生成随机的姓名. 实现思路 将姓氏.男生名常见字.女生名常见字分别保存在字典中,key为从1开始的连续的整数,value为姓或单字.将字典中的数据缓 ...

  7. java 生成校验验证码_java 验证码生成与校验

    java绘图相关类 验证码工具类 package dt2008.util; import javax.imageio.ImageIO; import javax.servlet.http.HttpSe ...

  8. java 生成token代码_java token生成和校验的实例代码

    现在越来越多的登录方式都用到了token作为用户登录令牌,所以实现了一个token生成和校验案例. 缺点:该实现方式token是存储在内存中,不适合分布式项目,如需改为分布式项目部署,可把token存 ...

  9. java中抽牌程序_Java—— 随机抽取扑克牌游戏

    /* * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作    者:李晓凯 * 完成日期:2015年 ...

最新文章

  1. 用Servlet获取表单数据
  2. JavaScript中的字符串操作(转)
  3. pandas 索引_10分钟带你学会Pandas多层级索引
  4. 解决静态方法调用注入的service
  5. 反射与泛型 java_Java的反射 和 泛型的一个问题
  6. DataLoader worker (pid 2287) is killed by signal: Killed. pytorch训练解决方法
  7. 统计学中常见的分布汇总及相关概念
  8. Java打印九九乘法表
  9. delphi mysql 删除_Delphi如何清空日志文件
  10. Beyond compare4激活使用
  11. linux4g内存图,linux 支持4G内存
  12. java如何删除购物车里的商品_编写一个简易购物车,实现向购物车内添加商品,移除指定商品及清空购物车功能。...
  13. 数字化时代,基于令牌的身份验证是如何工作?
  14. 机器学习笔记——逻辑斯蒂回归(Logistic)
  15. 只能输入零和非零开头的数字的正则表达式
  16. LeetCode刷题第七天
  17. 预约订座APP系统(基于uni-app框架)毕业设计毕业论文开题报告参考(2)app功能
  18. MS SQL 2008 Express 下载
  19. 单机魔域mysql_《魔域单机版》官方下载 单机魔域单机版中文免安装版_SJ3G游戏中心...
  20. 救命!我的电子邮件发不到 500 英里以外! 1

热门文章

  1. 64位UbuntuKylin (优麒麟系统)ISO镜像下载
  2. 就业技术书文件表格_就业申请书范文
  3. Ubuntu16.04编译高博的ORBSLAM2_with_pointcloud_map详细过程
  4. SyntaxError: Non-UTF-8 code starting with '\xe6' in file C:/Users/Administrator/Desktop..for details
  5. fstat() 函数
  6. C语言笔记:数制与进制(数制)之间转换问题
  7. postgresql dba常用sql查询语句
  8. ADD/ADHD 患者专注技巧有哪些?
  9. 高职教师的出路--1
  10. 软件项目管理系统-应用范围