生三从境界:昨夜西风凋碧树,独上高楼,望尽天涯路。 衣带渐宽终不悔,为伊消得人憔悴。 众里寻他千百度,蓦然回首,那人却在灯火阑珊处。人

随笔 - 151  文章 - 0  评论 - 117  阅读 - 108万 

个位数统计 (15)

时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小)

题目描述

给定一个k位整数N = dk-1*10k-1 + ... + d1*101 + d0 (0<=di<=9, i=0,...,k-1, dk-1>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定N = 100311,则有2个0,3个1,和1个3。

输入描述:

每个输入包含1个测试用例,即一个不超过1000位的正整数N。


输出描述:

对N中每一种不同的个位数字,以D:M的格式在一行中输出该位数字D及其在N中出现的次数M。要求按D的升序输出。

输入例子:

100311

输出例子:

0:2
1:3
3:1

思路分析:

用String接收输入,将字符串拆分成字符数组,遍历数组,一个个统计,就OK啦。

Java 代码如下:
复制代码
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sca = new Scanner(System.in);
        String str = sca.next();
        String[] str1 = str.split("");
        int[] sum = new int[10];
        for (int i = 0; i < str1.length; i++) {
            if(str1[i].equals("0"))
                sum[0]++;
            else if(str1[i].equals("1"))
                sum[1]++;
            else if(str1[i].equals("2"))
                sum[2]++;
            else if(str1[i].equals("3"))
                sum[3]++;
            else if(str1[i].equals("4"))
                sum[4]++;
            else if(str1[i].equals("5"))
                sum[5]++;
            else if(str1[i].equals("6"))
                sum[6]++;
            else if(str1[i].equals("7"))
                sum[7]++;
            else if(str1[i].equals("8"))
                sum[8]++;
            else if(str1[i].equals("9"))
                sum[9]++;
        }
        for (int i = 0; i < sum.length; i++) {
            if(sum[i]!=0)
                System.out.println(i+":"+sum[i]);
        }
    }
}
复制代码

 




posted on   测试开发喵  阅读(463)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示