java 判断字符串是否为数字 十进制 十六进制

时间:2025-02-14 13:46:01
package ;

/**
* @ClassName: regexTest1
* @Description: java判断字符串是否为数字。
* @author amosli
* @date 2013-6-28 下午11:46:50
* @Email:amosli@
*/ 
public class RegexNumberValidate {
	public static void main(String[] args){
		String[] values = new String[]{
				"10","32768","9999","ati","905Af","ffff"
		};
		for(String value:values){
			("Validating value:\t"+value);
			if(isOctNumberRex(value)){
				("this is a Octnumber:"+value);
			}else {
				("this isn't a Octnumber:"+value);
			}
			if(isHexNumberRex(value)){
				("this is a Hexnumber:"+value);
			}else {
				("this isn't Hexnumber:"+value);
			}
		}
	}
	//十进制
	private static boolean isOctNumber(String str) {
		boolean flag = false;
		for(int i=0,n=();i<n;i++){
			char c = (i);
			if(c=='0'|c=='1'|c=='2'|c=='3'|c=='4'|c=='5'|c=='6'|c=='7'|c=='8'|c=='9'){
				flag =true;
			}
		}
		return flag;
	}
	//十六进制
	private static boolean isHexNumber(String str){
		boolean flag = false;
		for(int i=0;i<();i++){
			char cc = (i);
			if(cc=='0'||cc=='1'||cc=='2'||cc=='3'||cc=='4'||cc=='5'||cc=='6'||cc=='7'||cc=='8'||cc=='9'||cc=='A'||cc=='B'||cc=='C'||
					cc=='D'||cc=='E'||cc=='F'||cc=='a'||cc=='b'||cc=='c'||cc=='c'||cc=='d'||cc=='e'||cc=='f'){
				flag = true;
			}
		}
		return flag;
	}
	
	private static boolean isOctNumberRex(String str){
		String validate = "\\d+";
		return (validate);
	}
	private static boolean isHexNumberRex(String str){
		String validate = "(?i)[0-9a-f]+";
		return (validate);
	}
}
/*************print***********************/
Validating value:    10
this is a Octnumber:10
this is a Hexnumber:10
Validating value:    32768
this is a Octnumber:32768
this is a Hexnumber:32768
Validating value:    9999
this is a Octnumber:9999
this is a Hexnumber:9999
Validating value:    ati
this isn't a Octnumber:ati
this is a Hexnumber:ati
Validating value:    905Af
this is a Octnumber:905Af
this is a Hexnumber:905Af
Validating value:    ffff
this isn't a Octnumber:ffff