原理:

  1. 将字符串转换成char字符数组
  2. 然后使用另一个数组存储
  1. 代码如下
    
    public class CalChar {
    public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    String string = scanner.next(); char[] ch = new char[string.length()];
    int[] nums = new int[26];
    ch =string.toCharArray(); for (int i = 0; i < string.length(); i++) { nums[ch[i]-97]=ch[i]-97; //这里较为巧妙,将底层字母ascii码转换成数组下标
    } }
    }

加强版:统计数字,大写字母,小写字母


import java.util.Arrays;
import java.util.Scanner; public class CalChar {
public static void main(String[] args) { Scanner scanner = new Scanner(System.in);
String string = scanner.next(); char[] ch = new char[string.length()];
int[] lowNum = new int[26];// 小写字母
int[] upNum = new int[26];// 大写字母
int[] nums = new int[10];// 数字
ch = string.toCharArray(); for (int i = 0; i < string.length(); i++) {
// 小写字母 a~z =97 ~(97+26)
if (0 <= (ch[i] - 97) && (ch[i] - 97) <= 26) {
lowNum[ch[i] - 97]++;
}
// 大写字母 A~Z =65 ~(65+26)
if (0 <= (ch[i] - 65) && (ch[i] - 65) <= 26) {
upNum[ch[i] - 65]++;
}
// 数字 0~9 = 48 ~ (48+26)
if (0 <= (ch[i] - 48) && (ch[i] - 48) <= 9) {
nums[ch[i] - 48]++;
} } CalChar calChar = new CalChar();
calChar.lowCount(lowNum);
System.out.println();
calChar.upCount(upNum);
System.out.println();
calChar.count(nums); } public void count(int[] nums) {
//数字计数
for (int i = 0; i < nums.length; i++) {
if (nums[i] != 0) {
System.out.print((char)(i+48)+":"+nums[i]+"个"+"\t");
}
}
}
//小写字母计数
public void lowCount(int[] lowNum) {
for (int i = 0; i < lowNum.length; i++) {
if (lowNum[i] != 0) {
System.out.print((char) (i+97) + ":" + lowNum[i] + "个"+"\t");
}
}
}
//大写字母计数
public void upCount(int[] ch) {
for (int i = 0; i < ch.length; i++) {
if (ch[i] != 0) {
System.out.print((char) (i+65) + ":" + ch[i] + "个"+"\t");
}
}
}
}

Java 统计字母个数的更多相关文章

  1. java 统计素数个数问题

    题目:判断101-200之间有多少个素数,并输出所有素数. 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数. package Study ...

  2. C语言小程序(八)、统计字母个数

    这么简单的程序本不应贴在这里,但每写一篇博客,积分涨10分,距离摆脱千里之外的排名又进一步,相当于刷榜了,哈哈! #include <stdio.h> #include <strin ...

  3. map集合修改其中元素 去除Map集合中所有具有相同值的元素 Properties长久保存的流操作 两种用map记录单词或字母个数的方法

    package com.swift.lianxi; import java.util.HashMap; import java.util.Iterator; import java.util.Map; ...

  4. Java实验--统计字母出现频率及其单词个数

    本周的实验要求在之前实现统计单词的基础之上(可以见之前博客的统计单词的那个实验),对其进行修改成所需要的格式,统计字母出现频率的功能,并按照一定的格式把最终结果的用特定的格式在文本中显示出来 统计过程 ...

  5. java统计英文字母、空格、数字和其它字符的数目

    package tes; import java.util.Scanner; //java统计英文字母,空格,数字和其它字符的数目 public class ZiFuTongJi { public s ...

  6. java基础IO流 复制键盘录入的目录,复制其中的.java文件到指定目录,指定目录中有重名,则改名 对加密文件计算字母个数

    package com.swift.jinji; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; im ...

  7. Java实现 蓝桥杯VIP 算法训练 统计单词个数

    题目描述 给出一个长度不超过200的由小写英文字母组 成的字母串(约定;该字串以每行20个字母的方式输入,且保证每行一定为20个).要求将此字母串分成k份 (1< k< =40),且每份中 ...

  8. 计算机算法-C语言-统计字母数字个数解

    Question:输入一串以“?”结尾的字符,分别统计其中字母数字的个数,输出字母及数字的个数. Solve: #include<stdio.h> #include<stdlib.h ...

  9. 武汉科技大学ACM :1003: 零起点学算法67——统计字母数字等个数

    Problem Description 输入一串字符,统计这串字符里的字母个数,数字个数,空格字数以及其他字符(最多不超过100个字符) Input 多组测试数据,每行一组 Output 每组输出一行 ...

随机推荐

  1. java——File

    注意事项: 1:创建File对象需要导包, import java.io.File 2:File对象没有无参数构造.创建对象需要传参. 3:File类的对象,既可以代表文件也可以代表文件夹.   构造 ...

  2. SQL关于WHERE 的计算次序

    WHERE可包含任意数目的AND和OR操作符.允许两者结合以进行复杂 和高级的过滤. 但是OR和AND操作符是有先后次序的. 比如,原意是想找出 3班和5班年龄为21岁的同学,使用 :SELECT * ...

  3. 学大数据是先学java还是先学python?

    大数据的发展趋势日渐明显,但是进入这个领域的门槛不小,除了要有心理准备,其次就是要付诸实际行动中去学习. 学习方法有很多,在没有基础的前提下,自学是因人而异是有难度.其次是大数据目前的工作方向主要是三 ...

  4. 虹软人脸识别SDK的接入方法

    背景: 虹软的人脸识别还是不错的,在官方注册一个账号,成为开发者,下载SDK的jar包,在开发者中心,找一个demo就可以开始做了,安装里边的逻辑,先看理解代码,然后就可以控制代码,完成自己想要的功能 ...

  5. 一些angular/js/ts的坑和吐槽

    ------20190318 ------------- 回头看,很多槽点已经随着升级改掉了   绑定string字面值到子组件@Input <app-overlay-static [name] ...

  6. Python 百分比计算

    遇到计算百分比的情况,查了一下,有两种方式 具体实现方式见下面代码 # 方式1 格式化为float ,然后 处理成%格式, 需要对分子/分母 * 100如下, percentList.append(' ...

  7. 第 8 章 容器网络 - 058 - flannel 概述

    flannel 概述 flannel 是 CoreOS 开发的容器网络解决方案. flannel 为每个 host 分配一个 subnet,容器从此 subnet 中分配 IP,这些 IP 可以在 h ...

  8. Android 如何将手机屏幕投影到 PC 屏幕上或者投影仪上做演示?

    Android 如何将手机屏幕投影到 PC 屏幕上或者投影仪上做演示? 公司开发款APP,要给领导演示,总不能用手机面对面演示吧.所以找了好久,找到一款体验超好的: Total Control-帮助你 ...

  9. legend2---开发日志5(如何解决插件的延迟问题,比如vue)

    legend2---开发日志5(如何解决插件的延迟问题,比如vue) 一.总结 一句话总结:元素可以先设置为隐藏,这样就不会让用户看到延迟的问题,然后等加载完再显示, 元素先设置为隐藏 加载完再显示 ...

  10. stm32cube使用

    1.使用stm32cube生成CAN代码注意事项: a.需要手动配置CAN过滤器 { CAN_FilterConfTypeDef sFilterConfig; uint32_t filterID = ...