一共三种方法判断一个字符串是否是纯数字
package com.jokin.learn.Jdk18;
import com.google.common.base.Strings;
/**
*/
public class isNumber {
public static void main (String[] a){
boolean re= new isNumber().isNum2("123456778");
System.out.println(re);
}
/**
* 用java自带的char处理方法(推荐)
* @param s
* @return
*/
public boolean isNum(String s){
if(Strings.isNullOrEmpty(s)){
return false;
}
//遍历String的方式一
/*char[] c= s.toCharArray();
for(int i=0;i<c.length;i++){
boolean t= Character.isDigit(c[i]);
if(!t){
return false;
}
}*/
//遍历String的方式二
for (int i = 0; i < s.length(); i++) {
char c= s.charAt(i);
boolean t= Character.isDigit(c);
if(!t){
return false;
}
}
return true;
}
/**
* 用ascii码(不推荐)
* @param s
* @return
*
* 26个字母对应的
* 大写:
* A → 65,B → 66,C → 67,D → 68,E → 69,F → 70,G → 71,H → 72,I → 73,J → 74,K → 75,L → 76,M → 77,N → 78,O → 79,
* P → 80,Q → 81,R → 82,S → 83,T → 84,U → 85,V → 86,W → 87,X → 88,Y → 89,Z → 90
* 小写:
* a → 97,b → 98,c → 99,d → 100,e → 101,f → 102,g → 103,h → 104,i → 105,j → 106,k → 107,l → 108,
* m → 109,n → 110,o → 111,p→ 112,q → 113,r → 114,s → 115,t → 116,u → 117,v → 118,w → 119,x → 120,y → 121,z → 122
*/
public boolean isNum2(String s){
char[] c= s.toCharArray();
for(int i=0;i<c.length;i++){
int temp=c[i]-'0';
System.out.println(temp);
if(temp>=10||temp<0){
return false;
}
}
return true;
}
/**
* 用catch异常(强烈不推荐,该方法万万不得已不能用)
* @param s
* @return
*/
public boolean isNum3(String s){
if(Strings.isNullOrEmpty(s)) {
return false;
}
int d= 0;
try {
d = Integer.valueOf(String.valueOf(s));
} catch (NumberFormatException e) {
//e.printStackTrace();
return false;
}
System.out.println(d);
return true;
}
}