原理:

  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. Ajax同步

    转载自:https://blog.csdn.net/xiegongmiao/article/details/78217386 AJAX中根据async的值不同分为同步(async = false)和异 ...

  2. Spring的AOP配置文件和注解实例解析

    1.1           Spring的AOP配置文件和注解实例解析 AOP它利用一种称为"横切"的技术,将那些与核心业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减 ...

  3. Qt--信号槽传递自定义结构体参数

    自定义结构体参数的信号槽连接 (1) 对于自定义的结构体参数,信号槽无法识别参数,导致信号槽连接不起作用.所以需要注册结构体参数.在结构体中声明结束的地方加上结构体注册. struct DealDet ...

  4. 第 8 章 容器网络 - 051 - 在 overlay 中运行容器

    在 overlay 中运行容器 运行一个 busybox 容器并连接到 ov_net1: docker run -itd --name bbox1 --network ov_net1 busybox ...

  5. dynamic遇上ADO.NET

    传说中的dynamic dynamic是个不合群.不按规则办事的家伙,可以说是个异形,但更恐怖的是它又是无所不知的,任何事情都难不了它(咳咳,它似乎与Lambda表达式是死对头).这令人想起<死 ...

  6. English trip M1 - PC6 Likes and Dislike Teacher:Jade

    In this lesson you will learn to talk about likes and dislikes. 课上内容(Lesson) # 通常在习惯性的表达式用 it's 来表达w ...

  7. android -------- 我创建的第一个 NDKDmeo 案例

    前面的NDK是弄的官方的,自己弄了一下,弄让他运行起来,今天来简单的写一个. 我是在Eclipse中开发的,创建一个NDKDemo项目,然后如下图: 在项目上–>右键–>Android T ...

  8. hammer.js方法总结(只做了一个简单的demo)

    html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <titl ...

  9. 将本地 项目文件托管到 github

    1.新建一个本地 repository文件夹 2.将想要 托管的项目或文件 复制到repository 文件夹下 2. 右键 git bash here 输入命令 git init 生成本地仓库 4. ...

  10. loj#2353. 「NOI2007」 货币兑换 斜率优化

    题意略 题解:可以列出dp方程\(dp[i]=max(dp[j]*{\frac{a[i]*c[j]+b[i]}{a[j]*c[j]+b[j]}}\),化简可以得到\(\frac{dp[i]}{b[i] ...