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