设计静态方法,从给定的一个字符串中找出所有数字(0-9)并累加。如果字符串中没有数字,则返回 0。(提示:Character.isDigit(char) 方法测试 char 是否是数字字符。)
public class test {
public static void main(String[] args) {
String str = "abcd 12345 xyz &.";
int accumulation = 0; //累计
char ch;
for (int i = 0; i <str.length(); i++) {
ch = str.charAt(i);
if (Character.isDigit(ch)) { //判断是否为数字
String str_2 = Character.toString(ch);
accumulation += Integer.parseInt(str_2);//转化为整型
}
}
System.out.println(accumulation);
}
本来是想通过这道题了解一下一些包装类的用法的
- Integer.parseInt(String)的作用就是将String字符类型数据转换为Integer整型数据。
- Integer.parseInt(String s,int radix)的目的是输出一个十进制数,s为一个其它进制的数,radix为进制
- Character.toString()可进行字符串与数组间的转化
- Character.isDigit()判断是否是数字(这系列有好多)
- str.charAt(i)获取i位置字符