A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

package Test11;

import java.util.Scanner;

/**题目要求:由用户输入电话号码。用正则表达式进行匹配,如果匹配true,打印电话号码,
* 如果匹配false,打印您输入的电话号码有误,
*正则规则:第1位是1,第二位可以是数字358其中之一,
* 后面3位任意数字,最后6位任意相同的数字,
*例如:18716999999 13485666666
*
*
*
*
* @author Administrator
*
*/

public class Test11 {
        public static void main(String[] args) {
                while(true){
                        String regex="1+[358]+\\d{3}+[\\d]{6}";
                        Scanner sc=new Scanner(System. in);
                        System.out.println("请输入电话号码");
                        String s=sc.nextLine();
                    if(s.matches(regex)){
                            String m = s.substring(5);
                            switch(m){
                            case "000000":
                                    System.out.println("您的电话号码是:"+s);
                                    break;
                       
                            case "111111":
                                    System.out.println("您的电话号码是:"+s);
                                    break;
                     
                            case "222222":
                                    System.out.println("您的电话号码是:"+s);
                                    break;
                            case "333333":
                                    System.out.println("您的电话号码是:"+s);
                                    break;
                            case "444444":
                                    System.out.println("您的电话号码是:"+s);
                                    break;
                            case "555555":
                                    System.out.println("您的电话号码是:"+s);
                                    break;
                            case "666666":
                                    System.out.println("您的电话号码是:"+s);
                                    break;
                            case "777777":
                                    System.out.println("您的电话号码是:"+s);
                                    break;
                        case "888888":
                                System.out.println("您的电话号码是:"+s);
                                break;
                        case "999999":
                                        System.out.println("您的电话号码是:"+s);
                                        break;
                  
                        default:
                               
                                System.out.println("您输入的电话号码有误");
                       
                            }
                       
                     }
               
                }
               
        }
}

评分

参与人数 2技术分 +1 黑马币 +10 收起 理由
未来不是梦! + 10 赞一个!
lwj123 + 1 很给力!

查看全部评分

12 个回复

倒序浏览
正则表达式有问题  六位任意相同数字是:(\\d)\\1{5}  switch语句就可以去掉了

import java.util.*;

public class Test11
{
    public static void main(String[] args)
    {
          while(true)
          {
                        
                String regex="1+[358]+\\d{3}+(\\d)\\1{5}";
                Scanner sc=new Scanner(System. in);
                System.out.println("请输入电话号码");
                String s=sc.nextLine();

                if(s.matches(regex))
                {
                      System.out.println("您的电话号码是:"+s);
                      sc.close();
                      break;
                     
                }
                else
                      System.out.println("您输入的电话号码有误");
               
                        
           }
      }
               
}



评分

参与人数 1技术分 +1 收起 理由
lwj123 + 1

查看全部评分

回复 使用道具 举报
楼主写的也太麻烦了吧。。。
正则规则应该再看一下。。
回复 使用道具 举报
加油~~~我们一起努力~~
回复 使用道具 举报
怎么还用上switch了???
回复 使用道具 举报
阿霞 发表于 2015-3-31 09:11
正则表达式有问题  六位任意相同数字是:(\\d)\\1{5}  switch语句就可以去掉了

import java.util.*;

(\\d)\\1{5}这个是七个任意相同数字还是六个? (\\d)\\1是两个吧?{5}这又是五个。有点晕,求教
回复 使用道具 举报
懒的呼吸 发表于 2015-4-1 08:58
(\\d)\\1{5}这个是七个任意相同数字还是六个? (\\d)\\1是两个吧?{5}这又是五个。有点晕,求教 ...

(\\d)是一个,然后\\1代表引用第一个组,而后面的{5}就代表引用第一个组五次,故一共六次。要是实在弄不清楚,写个程序测试一下就知道了。
回复 使用道具 举报
太厉害了
回复 使用道具 举报
一袭蓝10 来自手机 中级黑马 2015-4-17 12:37:29
9#
学习了。。。
回复 使用道具 举报
真的很牛逼
回复 使用道具 举报
大神好躲
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马