【问题描述】输入一行字符串,含有数字和非数字字符以及空格等,如:
df23adfd56 2343?23dgjop535
如果将其中所有连续出现的数字视为一个整数,要求统计在该字符串中共有多少个整数,并将这些数依次输出。
【输入样例】 df23adfd56 2343?23dgjop535
【输出样例】5
23 56 2343 23 535
【样例说明】在字符串df23adfd56 2343?23dgjop535中有5个整数分别是
23 56 2343 23 535
public class Test3_6_ztk {
public static void main (String args[]) {
String str = "df23adfd56 2343?23dgjop535";
int l = str.length();
char[] p = str.toCharArray();//转化为字符数组
int[] k = new int[l+1];
int sum = 0;
for (int i = 0; i < l; i++) {
if (p[i] >= '0' && p[i] <= '9') {
int a = Integer.parseInt(String.valueOf(p[i]));//字符型转换成整形,需要借用string类型
k[i] = a;
}
}
for(int i=0;i<=l;i++)
{
if(i==l)
break;
if(k[i]!=0&&k[i+1]!=0)
{
System.out.print(k[i]);
k[i]=0;
}
if(k[i]!=0&&k[i+1]==0)
{
System.out.println(k[i]);
sum++;
}
}
System.out.println("共有"+sum+"个数字");
}
}