Java案例:编程统计用户输入任意一个正整数中每个数字出现的次数。
前言
本案例是通过Java实现统计用户输入任意一个正整数中每个数字出现的次数。
一、题目介绍
所有的单个数字都是 0 -9 的的任意一个,通过统计输入的数字来累计 0-9 各个数字出现的次数,将结果输出。
二、解题思路
- 接收用户输入的值,将此正整数的每一位进行分离
- 使用一维数组,先初始化一个有10个元素的一维数组,默认每个元素的值都是0
- 然后通过循环,判断每个位上的数字,依次统计到一维数组中
- 将最后的结果以for循环遍历的形式输出
三,代码实现
/*
案例题目:
1.编程统计用户输入任意一个正整数中每个数字出现次数的统计并打印。
如:123123 => 1出现2次,2出现2次,3出现2次
*/
import java.util.Scanner;
public class ArrayCountTest {
public static void main(String[] args) {
// 1.提示用户输入一个正整数
System.out.println("请输入一个正整数:");
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
// 2.申请一个一维数组,统计 0 ~ 9 出现的次数
int[] arr1 = new int[10];
// 3.拆分正整数的每一位上的数字,进行记录出现的次数
int temp;
while(num > 0) {
arr1[num % 10]++;
num /= 10;
}
// 4.输出各个数字出现的次数
for(int i = 0; i < arr1.length; i++) {
if(arr1[i] > 0) {
System.out.print(i + "出现" + arr1[i] + "次\t");
}
}
System.out.println();
}
}
四,测试代码
> java ArrayCountTest
请输入一个正整数:
2556
2出现1次 5出现2次 6出现1次
总结
好的,到这里此次试验圆满成功。大家如果对于这个实验有任何的疑问,请留言讨论,我们一起学习进步,讨论解决。