这是题目:
编写一个应用程序,接收用户从键盘的一行输入(只接收一次),判断这一行字符串(可以包含空格)中的数字个数。
理解Scanner类中,next和nextLine方法的区别。
理解String的split方法使用正则表达式的适用场景。
理解String和char[]之间的转换方法。
输入样例:
a1b2c34 5
输出样例:
共发现5个数字,为12345
输入样例:
abcdef
输出样例:
未发现数字
这是我写的程序,有错误:
import java.util.Scanner;
class EX01{
int number = 0;
class Stat_char{
Scanner in = new Scanner(System.in);
public void show()
{
System.out.print("请输入一串字符串统计其中数字的个数:");
String c1 = in.nextLine();
char []a = c1.toCharArray();
for(int i = 0 ; i<a.length ; i++)
{
if(a[i]>='0'&&a[i]<='9')
{
number++;
}
}
}
public void print()
{
if(number>0)
System.out.println("数字有:"+number+"个");
else
System.out.println("未发现数字");
{
}
}
}
{
public class zifuchuan {
public static void main(String[] args) {
Stat_char ch = new Stat_char();
ch.show();
ch.print();
}
}
}
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("输入样例:");
String inputStr = input.nextLine();
int count = 0;
String output = "";
for (int i = 0; i < inputStr.length(); i++) {
char c = inputStr.charAt(i);
if (c >= '0' && c <= '9') {
count++;
output += c;
}
}
System.out.print("输出样例:");
if (count > 0) {
System.out.println("共发现" + count + "数字,为" + output);
} else {
System.out.println("未发现数字");
}
}