java中给定字符串,看它是否为手机号?

publicclassNiHao{publicstaticvoidmain(String[]args){Stringstr=“18946178006”;//一个字符串bo... public class NiHao{ public static void main (String[]args){ String str=“18946178006”; //一个字符串 boolean flag=true;//声明boolean变量,并为真 if(str.length()==11){//str.length什么意思啊? for(int i=0;i<str.length();i++){// char_c=str.charAt[i];// if(!character.isDigit(_c)){// flag=false; break; } } if(flag){// System.out.println(“是手机号”); }else{ System.out.println("不是"); }else{ System.out.println("不是"); } } } 希望您给我在每一行后用//解释一下,我先解释,您看错哪里,在帮我改一下啊 其实,我是真不会啊,请详细解释一下,十分感谢。 展开
 我来答
小超制作420
推荐于2016-06-04 · TA获得超过122个赞
知道答主
回答量:154
采纳率:0%
帮助的人:83.6万
展开全部
public class NiHao { public static void main(String[] args) { String str = "18946178006"; // 一个字符串 boolean flag = true;// 声明boolean变量,并为真 if (str.length() == 11) {// 判断手机号码的长度,length()方法是活的str这个字符串的长度 for (int i = 0; i < str.length(); i++) {// 利用for循环,从str的第一位开始检测也就是1开始到6结束 char c = str.charAt(i);// charAt(i)是获取str这个字符串的第i+1位上的字符,也就是下标为i的char型变量,分别为1,8,9.。。。6 if (!Character.isDigit(c)) {//每次循环,都要判断一下这个c是不是数字 flag = false; //如果不是数字,将flag设置为false break; //只要有一个非数字,则终止循环 } } }else{ flag = false ; //如果长度不是11位,将flag设置为flag } if (flag) { System.out.println("是手机号"); } else { System.out.println("不是"); } } } 我给你修改了一下,看看那里还看不懂。温馨提示,手机号码可不是这样判断的,假如str="00000000000",你能说它是手机号码么?最好用正则表达式
百度网友b0dcff2
推荐于2016-01-22 · TA获得超过116个赞
知道答主
回答量:80
采纳率:100%
帮助的人:48万
展开全部
Pattern p = Pattern.compile("1\\d{10}");
Matcher m = p.matcher(13145632378);
boolean b = m.matches();
如果b为true,则为手机号。
在java程序中由于“\”表示转义字符用“\\”表示“\d”中的“\”
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式