黑马程序员技术交流社区
标题:
题目求解!大神
[打印本页]
作者:
XuhEii
时间:
2016-9-8 22:21
标题:
题目求解!大神
用一个字符串接受手机号码,号码后三位相同为靓号,如何证明号码后三位相同
作者:
HelloSir
时间:
2016-9-8 22:32
拆分后判断,在string对象中应该提供了类似的方法,你去api文档中看下。
作者:
不羁的码农
时间:
2016-9-8 22:38
截取后三位,转为字符数组,再比较
作者:
&天马星空ぁ
时间:
2016-9-8 22:42
把字符串转换为数组,比较最后3位即可
作者:
我本欲善良
时间:
2016-9-8 22:42
你可以通过正则表达式进行判断接收,String regex = "1[3578][0-9]{6}[0-9]\\1{2}"
作者:
xh_javaee
时间:
2016-9-8 23:04
public class Test {
public static void main(String[] args) {
String phone = "12345678666";//11位手机号
System.out.println("手机号:"+phone);
String lastT = phone.substring(8);//后三位
System.out.println("后三位:"+lastT);
String last = phone.substring(10);//最后一位
String result = "";
for(int i=0;i<lastT.length();i++) {
if(last.equals(lastT.substring(i, i+1))) {
result = "是靓号";
} else {
result = "不是靓号";
break;
}
}
System.out.println(result);
}
}
作者:
13411939415
时间:
2016-9-8 23:11
用后三位匹配一下正则就可以了
boolean b = str.substring(str.length() - 4).matches("(\\d)\\1{2}");
作者:
LShu
时间:
2016-9-8 23:46
package com.heima.practise;
import java.util.Scanner;
/**
* 用一个字符串接受手机号码,号码后三位相同为靓号,如何证明号码后三位相同
*
* 分析:
* 1,创建一个键盘录入对象
* 2,定义一个正则规则 判断输入的是否是一个手机号码String regex = "1\\d{10}";
* 3,判断输入的手机号码是否符合规则
* 符合:截取后3位数字,并将截取后的字符串转成字符数组,判断后3位数是否相同
* 是:将号码打印到控制台,并提示你的手机号码为靓号
* 否:将号码打印到控制台,并提示你的手机号码是一般号码
* 不符合:提示用户输入的手机号码错误,请重写输入
* @author John
*
*/
public class Test00 {
public static void main(String[] args) {
//1,创建一个键盘录入对象
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个11位数手机号码:");
//2,定义一个正则规则 判断输入的是否是一个手机号码String regex = "1\\d{10}";
String regex = "1\\d{10}";
/*
* 3,判断输入的手机号码是否符合规则
* 符合:截取后3位数字,并将截取后的字符串转成字符数组,判断后3位数是否相同
* 是:将号码打印到控制台,并提示你的手机号码为靓号
* 否:将号码打印到控制台,并提示你的手机号码是一般号码
* 不符合:提示用户输入的手机号码错误,请重写输入
*/
while(true) {
String number = sc.nextLine(); //将键盘录入的数据存储到变量number中
if (number.matches(regex)) { //判断输入的号码是否是手机号码
String line = number.substring(8); //获取手机号码后3位数
char[] arr = line.toCharArray(); //将截取的字符串转变成字符数组
if (arr[0] == arr[1] && arr[1] == arr[2]) { //判断手机号码后3位数是否相同
System.out.println("您的手机号码为靓号:" + number);
break;
}else {
System.out.println("您的手机号码为一般号码:" + number);
break;
}
}else {
System.out.println("您输入的手机号码错误,请重新输入:");
}
}
}
}
作者:
cjc147
时间:
2016-9-9 00:05
定义一个正则表达式,String regex = "1[34578][0-9]{6}\\d\\1{2}";
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2