个人想法
看到答案中没有太多Java解法就写了一下笔记
先把题贴出来
看到题思路最先是出现统计0-9数字出现的次数,想到用数组存储出现的次数,然后出现一次加一,然后想到10个数都是加用循环很好解决,接下来就是出现了一个以前不太了解的点,就是int类型转换成字符串类型,然后字符串要拆开成为一个一个单独的字符串
这里用到了一个方法str.split(“str1”),方法作用是将数组str按照str1的规则切割,类似python中同名方法。
接下来写题解思路:
先输入两个数计入
然后从小数到大数循环
进行int变String操作
String用split()方法切割字符串操作
然后用switch case方法进行计数,也是执行相同操作,直接使用了循环语句;
最后成品
package seven.eight;
import java.util.Scanner;
public class P1554 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] list = new int[10];
int a = sc.nextInt();
int b = sc.nextInt();
for (int i = a; i <= b; i++) {
String[] ii = (i + "").split("");
for (int j = 0; j < ii.length; j++) {
for (int k = 0; k < 10; k++) {
if (ii[j].equals(k + "")) {
list[k]++;
}
}
}
}
for (int i = 0; i < 10; i++) {
System.out.print(list[i] + " ");
}
}
}
艺术代码
讲究(手动狗头)