方法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());
}
}