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("不是"); } } } 希望您给我在每一行后用//解释一下,我先解释,您看错哪里,在帮我改一下啊 其实,我是真不会啊,请详细解释一下,十分感谢。
展开
2个回答
展开全部
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",你能说它是手机号码么?最好用正则表达式
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询