java练习-判断字符串是否都是数字

方法1:

package everyDayPratise;

public class IsAllNumber
{
    public static boolean method1(String s)
    {
        if(s==null)
        {
            throw new RuntimeException("input s is null");
        }
        
        char[] charArray = s.toCharArray();
        if(charArray.length==0)
        {
            return false;
        }
        
        for(char c : charArray)
        {
            // 对于字符,对字符按照ASCII码值进行比较
            if(c<'0' || c>'9')
            {
                return false;
            }
        }
        return true;
    }
    
    public static void main(String[] args)
    {
        System.out.println(method1("sdwdasd"));
        System.out.println(method1(""));
        System.out.println(method1("432534"));
    }
}

  

方法2:

正则表达式:主要用于对字符串进行模式识别,判断字符串是否符合要求的格式

package everyDayPratise;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexTest1
{
    public static void main(String[] args)
    {
        // 1. 判断字符串是否都是数字表示的
        String s1 = "02143435";
        boolean b1 = s1.matches("[0-9]+");
        System.out.println(b1);
        
        s1 = "a02.143435";
        b1 = s1.matches("[0-9]+");
        System.out.println(b1);
        
        
        // 2. 使用Pattern
        Pattern p = Pattern.compile("[0-9]+");
        Matcher matcher = p.matcher("432345");
        System.out.println(matcher.matches());
        
        // 3. 如果想判断字符串是否包含待判断模式的子串
        p = Pattern.compile("[0-9]+");
        matcher = p.matcher("432345-");
        
        // 判断输入串432345-是否符合模式:[0-9]+
        System.out.println(matcher.matches());
       
        // 判断输入串432345-是否包含符合模式的子串,但是,起点已经不在0
        System.out.println(matcher.find());

        matcher.reset();
        System.out.println(matcher.find());
    }
}

  

原文地址:https://www.cnblogs.com/wyqAtom/p/3960705.html