计算在区间1 到n的所有整数中,数字x(0 ≤ x≤ 9)共出现了多少次?
主要思想:将整数n与x转化为字符串,然后将n转换后的字符串拆分依次与x转换后的字符串进行比较,若相同,则次数加1。
import java.util.Scanner;
public class AppearNumber {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int x = sc.nextInt();
String a = String.valueOf(x);//将int类型的x转化成字符串
char b = a.charAt(0);//返回指定位置的字符
int count = 0;
for(int i=1;i<=n;i++){ //i利用循环从1~n依次取数
String c = String.valueOf(i);
for(int j = 0;j<c.length();j++){
if(c.charAt(j) == b){ //判断是否与x转换的字符串相同
count++;
}
}
}
System.out.println(count);
}
}
知识点:
1.String.valueOf()方法可以将基本数据类型转换成String类型。
例如:
String.valueOf(int i) : 就是将int类型的数据转换为字符串。
String a = String.valueOf(int 6); 此时的a就是字符串“6”。
2.charAt() 方法用于返回指定索引处的字符。索引范围为从 0 到 length() - 1。