java 怎么判断一串字符串,是不是6位的数字?

如题所述

1、首先判断字符串长度是否是6位

String str = "";//需要判断的字符串
if(str.length==6){//如果长度是6,则可能是6位数字,否则不可能6位的
}

2、通过转换成数字捕获异常,如果有异常,则不是数字,没有异常,则是数字

try{
   int a = Integer.valueOf(str);//转换成数字,如果不是数字,则会抛出异常,进入catch中
   System.out.println("是数字");//如果是数字,则会执行该语句。
}catch(Exception ex){
}

3、结合上面两个步骤,完成6位数字的判断

if(str.length==6){//如果长度是6,则可能是6位数字,否则不可能6位的
   ry{
       int a = Integer.valueOf(str);//转换成数字,如果不是数字,则会抛出异常,进入catch中
      System.out.println("是6位数字");//如果是数字,则会执行该语句。
   }catch(Exception ex){
   }
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-05-22
你可以用Integer.parseInt(str)先判断它是不是一个数字字符串,如果要是,你可以根据这个字符串的长度来判断他是不是6位的数字。希望能够对你有所帮助,谢谢!本回答被提问者采纳
第2个回答  2014-05-22

    正则表达式。

    先判断字符串长度,然后挨个根据ASCII码判断是否为数字。

本回答被网友采纳
第3个回答  2014-05-22
java里面的String有一个方法就是求字符串的长度的,例如:String name="Haiyan1234";
int len=name.length();返回的是一个整数,这样就可以求得长度了;
public boolean isNum(String str){
if(str.length()!=6) return false;
for(int i=0;i<str.length();i++)
if(str.charAt[i]<'0'||str.charAt[i]>'9')//不为数字时返回false
return false;
return true;
第4个回答  2014-05-22
str.matches("\\d{6}")
相似回答