public class Main {
public static void main(String[] args) {
String a = "adsasdas32a12";
Main main = new Main();
int digitStr = isDigitStr(a);
System.out.println(digitStr);
}
public static int isDigitStr(String str){
int num = -1;//定义一个int值,用来表示是否包含数字
char[] chars = str.toCharArray();
String numStr = null;
StringBuffer s = new StringBuffer();
for(int i=0;i<chars.length;i++){
if(Character.isDigit(str.charAt(i))){ //用char包装类中的判断数字的方法判断每一个字符
numStr = String.valueOf(str.charAt(i));
s.append(numStr);
num = Integer.parseInt(s.toString());//如果有数字,那么拿出来,肯定不是-1
}
}
return num;
}
}
我先循环判断字符串中的每一个字符,如果有数字的话,将它转成字符串,然后Integer.parseInt(str)方法来转成int类型的数字,并且终止循环。由于我这个里边的数字肯定是0以上的,所以我设定的num=-1,这样可以判断是否含有数字的同时,如果有数字也可以得到数字