蓝桥杯:数字统计
问题描述
请统计某个给定范围[L, R]的所有整数中,数字2 出现的次数。 比如给定范围[2, 22],数字2 在数2 中出现了1 次,在数12 中出现1 次,在数20 中出现1 次,在数21 中出现1 次,在数22 中出现2 次,所以数字2 在该范围内一共出现了6次。
输入格式
输入共1 行,为两个正整数L 和R,之间用一个空格隔开。
输出格式
输出共1 行,表示数字2 出现的次数。
样例输入
Sample Input1:
2 22
Sample Input2:
2 100
样例输出
Sample Output1:
6
Sample Output2:
20
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int L=input.nextInt();
int R=input.nextInt();
System.out.println(numCount(L, R));
}
public static int numCount(int L,int R){//统计区间中2的个数
StringBuffer stringBuffer=new StringBuffer();
for (int i=L;i<=R;i++){
stringBuffer.append(i);
}
System.out.println(stringBuffer);
//变成数组
String[] strings=stringBuffer.toString().split("");
int count=0;
for (int i=0;i<strings.length;i++){
if ("2".equals(strings[i])){//计数2的个数
count++;
}
}
return count;
}
}
请多多指教!!!