为了账号安全,请及时绑定邮箱和手机立即绑定

Java中怎么样判断一个字符串是否为数字,望大神解释清楚一点,最好给我代码,我刚刚学

Java中怎么样判断一个字符串是否为数字,望大神解释清楚一点,最好给我代码,我刚刚学

正在回答

4 回答

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;  

}  

也可以用正则表达式,这个java入门后面好像会讲

0 回复 有任何疑惑可以回复我~
#1

梓鹏 提问者

谢谢你
2018-03-20 回复 有任何疑惑可以回复我~

其实我也刚刚学,并不知后面的函数。。。

0 回复 有任何疑惑可以回复我~

刚刚学就研究后面要学的东西了。厉害

0 回复 有任何疑惑可以回复我~
#1

梓鹏 提问者

突然想到的
2018-03-20 回复 有任何疑惑可以回复我~

1.使用Character.isDigit(char)判断

String str = "123abc";  
 if (!"".equals(str)) {  
  char num[] = str.toCharArray();//把字符串转换为字符数组  
  StringBuffer title = new StringBuffer();//使用StringBuffer类,把非数字放到title中  
  StringBuffer hire = new StringBuffer();//把数字放到hire中  
 
  for (int i = 0; i < num.length; i++) {  
 
 // 判断输入的数字是否为数字还是字符  
   if (Character.isDigit(num[i])) {把字符串转换为字符,再调用Character.isDigit(char)方法判断是否是数字,是返回True,否则False  
       hire.append(num[i]);// 如果输入的是数字,把它赋给hire  
   } else {  
    title.append(num[i]);// 如果输入的是字符,把它赋给title  
   }  
  }

2.使用类型转换判断

try {  
           String str="123abc";  
           int num=Integer.valueOf(str);//把字符串强制转换为数字  
           return true;//如果是数字,返回True  
       } catch (Exception e) {  
           return false;//如果抛出异常,返回False  
       }  

3.使用正则表达式判断

String str = "";  
boolean isNum = str.matches("[0-9]+");  
//+表示1个或多个(如"3"或"225"),*表示0个或多个([0-9]*)(如""或"1"或"22"),?表示0个或1个([0-9]?)(如""或"7")  

4.使用Pattern类和Matcher

String str = "123";  
   Pattern pattern = Pattern.compile("[0-9]+");  
   Matcher matcher = pattern.matcher((CharSequence) str);  
   boolean result = matcher.matches();  
   if (result) {  
       System.out.println("true");  
   } else {  
       System.out.println("false");  
   }

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

Java中怎么样判断一个字符串是否为数字,望大神解释清楚一点,最好给我代码,我刚刚学

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信