判断用户输入的是数字还是字符串

1.用JAVA自带的函数
public static boolean isNumeric(String str){
  for (int i = 0; i < str.length(); i++){
   System.out.println(str.charAt(i));
   if (!Character.isDigit(str.charAt(i))){
    return false;
   }
  }
  return true;
 }

2.用正则表达式
首先要import java.util.regex.Pattern 和 java.util.regex.Matcher
public boolean isNumeric(String str){ 
   Pattern pattern = Pattern.compile("[0-9]*"); 
   Matcher isNum = pattern.matcher(str);
   if( !isNum.matches() ){
       return false; 
   } 
   return true; 
}
 
上面2种方式中,第2种方式比较灵活。 第1种方式只能校验不含负号“-”的数字,即输入一个负数-199,输出结果将是false; 而第2种方式则可以通过修改正则表达式实现校验负数,将正则表达式修改为“^-?[0-9]+”即可,修改为“-?[0-9]+.?[0-9]+”即可匹配所有数字。
posted @ 2014-12-12 11:38  zhuxian300c  阅读(887)  评论(0)    收藏  举报