java输入一个字符串,打印出其中所有的数字

/**
* 输入一个字符串,打印出其中所有的数字
*
* @author Yang
* @version $Revision: 1.2 $(版本号) $Date: 2007/11/29 09:55:55 $
*/
import java.util.StringBuilder;

public class Numbers {

public static void main(String[] args) {
System.out.println("输入一个字符串:");
StringBuilder bf = new StringBuilder(System.in);
String line = bf.readLine();
System.out.println("打印出其中所有的数字:");
for (int i=0;i<line.length();i++) {
if (Character.isDigit(line.charAt(i))) {
System.out.print(line.charAt(i));
}

}
}
}
问题:
为了提高效率,基本上都是把要打印的先放在内存中,只调用一次print函数就输出所有数据。
根据这个思想改写程序,使用一个StringBuffer类来做缓存。
如何按要求更改程序?

第1个回答  推荐于2016-05-19
import java.util.Scanner;

public class Numbers
{

public static void main(String[] args) {
System.out.println("输入一个字符串:");
Scanner scanner = new Scanner(System.in);
StringBuffer sb=new StringBuffer();
String line = scanner.nextLine();
char a[]=line.toCharArray();
System.out.println("打印出其中所有的数字:");
for (int i = 0; i < a.length; i++)
{
if(Character.isDigit(a[i]))
sb.append(a[i]);
}
System.out.println(sb);
}
}

输入一个字符串:
asfafas2124124sdgd11
打印出其中所有的数字:
212412411本回答被提问者采纳
相似回答