Java语言程序设计实训题目练习

Description
    提取一条短信里所有的电话号码,电话号码之间换行打印,短信的内容由用户输入。
Input
    第一行有个整数n(1≤n≤1000)表示测试用例的个数。其后的每一行中有一条短信,每一条短信中只包含字母、数字、空格、标点符号,没有回车换行符,短信的长度不超过400个英文字符。
Output
    将每条短信中的电话号码提取出来。每个号码占一行。如果该短信中没有电话号码,请输出“no phone numbers!” 每个测试用例的输出之间用一个空行隔开。
    (提示:利用数据输入读取一行信息,然后利用String的方法将字符串转换成一个字符数组,再提出数字,连续的数都可以认为是电话号码)
Sample Input

2
Mr Zhang's home phone is 073112345678, and his office phone is 87654321, his mobile phone is 13812345678
Sorry, I don't have his any phone numbers!

Sample Output

073112345678
87654321
13812345678

no phone numbers!!

思路:观察样例可知道每一个电话号码都有一个明显的特征,前面为空格,后面为逗号或空格,这是就可以用split方法对长字符串进行划分,只要划分后的字符串第一个字符为数字,那么这个字符串就是电话号码,输出即可,这里注意两点,若没有电话号码,就要输出no phone number!,还有就是输出完一个测试用例后还要输出一个空格,但这在考试平台并看不出来,看我的输出样例就很清楚了

import  java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();//吞掉回车符sc.nextLine();for ( int i = 0; i < n; i ++ ) {int cnt = 0;String str = sc.nextLine();String[] s = str.split("\\s|,");for ( int j = 0; j < s.length; j ++ ) {//直接用Charater工具中的isDigit判断是不是为数字,更多方法见文末链接if (s[j].length() != 0 && Character.isDigit(s[j].charAt(0))) {cnt++;System.out.println(s[j]);}}if ( cnt == 0 )System.out.println("no phone numbers!");//这里输出回车,控制格式,没有过不了System.out.println();}sc.close();}
}

普适方法:

import java.util.Scanner;
public class Main {public static void main(String[] args){Scanner input = new Scanner(System.in);int n = input.nextInt();input.nextLine();for(int i=0;i<n;i++){String str = input.nextLine();char arr[] = str.toCharArray();boolean flag = true;for(int j=0;j<arr.length;j++){if(arr[j]>='0'&&arr[j]<='9'){flag = false;if(j==arr.length-1)System.out.println(arr[j]);else if((arr[j+1]>='0')&&(arr[j+1]<='9'))System.out.print(arr[j]);else System.out.println(arr[j]);}}if(flag){System.out.println("no phone numbers!");}System.out.println();}}
}

该代码片段中涉及到知识点相关链接

JAVA判断字符的形式_Rab_Mar的博客-CSDN博客_java判断字符类型

1 、(5分)短信中提取号码相关推荐

  1. java 正则 提取数字_java使用正则提取字符串中的数字(例如提取短信中的验证码)详解...

    使用java正则可以很方便的从字符串中提取符合条件的内容. 1.提取字符串中所有的手机号: private void getPhoneNum(String smsBody) { Pattern pat ...

  2. 在短信中使用短链接的完整指南

    使用短链接进行短信营销已成为品牌与客户联系的一种越来越流行的方式.      数据很明确:短信营销的效率比其他营销方式直接有效很多.通过SMS发送的消息中有98%被打开,并且其中90%在发送后三分钟之 ...

  3. 在线接受短信的虚拟号码服务平台(SMS-Activate)的使用

    在注册ChatGPT时,由于需要使用海外手机号进行验证,但对于大多数国内人士来说,通常不具备自有国外手机号的条件,因此借助第三方平台提供的服务完成这一步骤成为不失为一个不错的选择.本文主要介绍在线接受 ...

  4. 短信中出现的短网址有危险吗?

    近来,不知大家发现没有,我们的短信正在焕发冉冉生机,已经没落的短信随着短信营销的兴起,正在重新掀起热潮.那么,短信中出现的短网址有危险吗? 如果要分析短网址有没有危险,那么我们首先要做的就是弄清楚短网 ...

  5. 手机短信中特殊字符导致链接失效的问题修复

    1. 现象 短信中的链接,点进去由于没有把 + 号带上,导致单击的时候 出错或者 找不到 2 .优化方式: 短连接可用中文的 大括号扩住链接即可解决链接失效的问题 eg :短息内容 XXXX [htt ...

  6. iOS点击短信中的链接跳转到App

    现在有这样一个需求:用户点击短信上的链接跳转到我们的App中或者App中的指定页面. 可行的方案大概有三种: 一.直接使用URL Scheme.(优点:十分简单,在plist文件中配置一个scheme ...

  7. android 短信 字符 执行,Android短信中的特殊字符

    我已经观察了这个问题多年,现在不知道它来自哪里.我担心这个bug在2011年的新版Android中仍然可以观察到,并且我希望如果不解决它,我终于可以帮助我完全理解它.Android短信中的特殊字符 让 ...

  8. 苹果手机用计算机怎么表白,隐藏在iphone短信中的自带功能,超适合表白,快学起来...

    原标题:隐藏在iphone短信中的自带功能,超适合表白,快学起来 我们身边一定有很多用苹果手机的朋友,但是我敢肯定的是,他们一定不会知道苹果手机所有隐藏的功能.今天小编就发现苹果手机在发短信的时候竟然 ...

  9. asp.Net下短信猫发送短信中的中文乱码解决

    现象:用c#编码调用短信猫发送包含中文字符的短信,但收到的总是乱码或问号(?),使用了Default, Unicode-16等多种编码方式仍然无效,而其他非中文字符都可以正常接收. 另外,在超级终端中 ...

最新文章

  1. Linker加载so失败问题分析
  2. 百度计算广告学沙龙学习笔记 - 内容匹配广告
  3. CentOS挂Windows的NFS备忘
  4. w3c html5 客户端缓存数据格式,Html5应用程序缓存(Cache manifest)
  5. AMD Cubemapgen for physically based rendering
  6. 横空出世,席卷互联网--评微软等公司数据结构和算法面试100题 .
  7. facebook开源的prophet时间序列预测工具---识别多种周期性、趋势性(线性,logistic)、节假日效应,以及部分异常值
  8. 博客6:磁盘以及创建文件系统的相关知识点
  9. BZOJ2330:[SCOI2011]糖果(差分约束)
  10. Oracle 子查询优化思路
  11. TensorFlow学习记录:saved_model模块的用法
  12. 看完了团长,我没有心理在去看《南京!南京!》
  13. java零基础风清扬黑马笔记
  14. linux网卡加vlan标签,如何在 CentOS/RHEL 系统中使用带 VLAN 标记的以太网卡
  15. 图片怎么识别文字?超实用的文字识别技巧分享,分享给你
  16. 全世界最亏本的事(转)
  17. windows10下使用minGW64 编译krita源码报错
  18. 虚幻C++入门个人笔记(3)——接口、智能指针、动画蓝图、行为树、EQS系统
  19. mysql表别名不加as_数据库别名AS区别
  20. 【Python】根据多个列同时进行多条件筛选数据

热门文章

  1. 热带地区数据中心需要太阳能发电,而不是自然冷却
  2. 大华摄像头使用外网进行访问管理
  3. JAVA大华摄像头抓拍与API接口集成
  4. 最多显示三行,多余...展开,点击展开收起 getClientRects
  5. tesla p4 linux驱动,Ubuntu 16.04. 装tesla p4 显卡驱动+cuda9.0+docker+nvidia-docker 详细方法,这里是服务器为主...
  6. 计算机网络 划分子网构造超网
  7. ae手机版特效软件如何制作抖音热门视频飞天特效的教程
  8. android地图轨迹跟踪_在这张地图中,你可以追踪全世界的航班信息
  9. 证件照修改尺寸像素大小和存储大小
  10. 信捷服务器Z相信号,信捷plc标记与中断处理小知识