Java 统计字母个数
原理:
- 将字符串转换成char字符数组
- 然后使用另一个数组存储
代码如下 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 统计字母个数的更多相关文章
- java 统计素数个数问题
题目:判断101-200之间有多少个素数,并输出所有素数. 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数. package Study ...
- C语言小程序(八)、统计字母个数
这么简单的程序本不应贴在这里,但每写一篇博客,积分涨10分,距离摆脱千里之外的排名又进一步,相当于刷榜了,哈哈! #include <stdio.h> #include <strin ...
- map集合修改其中元素 去除Map集合中所有具有相同值的元素 Properties长久保存的流操作 两种用map记录单词或字母个数的方法
package com.swift.lianxi; import java.util.HashMap; import java.util.Iterator; import java.util.Map; ...
- Java实验--统计字母出现频率及其单词个数
本周的实验要求在之前实现统计单词的基础之上(可以见之前博客的统计单词的那个实验),对其进行修改成所需要的格式,统计字母出现频率的功能,并按照一定的格式把最终结果的用特定的格式在文本中显示出来 统计过程 ...
- java统计英文字母、空格、数字和其它字符的数目
package tes; import java.util.Scanner; //java统计英文字母,空格,数字和其它字符的数目 public class ZiFuTongJi { public s ...
- java基础IO流 复制键盘录入的目录,复制其中的.java文件到指定目录,指定目录中有重名,则改名 对加密文件计算字母个数
package com.swift.jinji; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; im ...
- Java实现 蓝桥杯VIP 算法训练 统计单词个数
题目描述 给出一个长度不超过200的由小写英文字母组 成的字母串(约定;该字串以每行20个字母的方式输入,且保证每行一定为20个).要求将此字母串分成k份 (1< k< =40),且每份中 ...
- 计算机算法-C语言-统计字母数字个数解
Question:输入一串以“?”结尾的字符,分别统计其中字母数字的个数,输出字母及数字的个数. Solve: #include<stdio.h> #include<stdlib.h ...
- 武汉科技大学ACM :1003: 零起点学算法67——统计字母数字等个数
Problem Description 输入一串字符,统计这串字符里的字母个数,数字个数,空格字数以及其他字符(最多不超过100个字符) Input 多组测试数据,每行一组 Output 每组输出一行 ...
随机推荐
- vue中 父子组件的通讯
1.父组件可以使用 props 把数据传给子组件. 2.子组件可以使用 $emit 触发父组件的自定义事件 实例: 父组件: layout.vue 子组件:logform.vue 子组件: < ...
- nRF52832无法加载协议栈文件
使用keil向nRF52832下载程序时报错 Error:Flash Download failed-Could not load file"..\..\..\..\compoents\so ...
- Yandex.Algorithm 2018, final round
Yandex.Algorithm 2018, final round A Smart Vending B LIS vs. LDS C Eat And Walk D Search Engine E Gu ...
- redis在php运行时出现错误
我的redis版本:3.2.8. redis安装教程,参考官方网站: https://redis.io/download 在网上多番查找,很多说是配置文件redis.conf中的: # bind 12 ...
- R语言中知识点总结(一)
source("http://bioconductor.org/biocLite.R") biocLite("GEOquery") library(Biobas ...
- 雷林鹏分享:XML 树结构
XML 树结构 XML 文档形成了一种树结构,它从"根部"开始,然后扩展到"枝叶". 一个 XML 文档实例 XML 文档使用简单的具有自我描述性的语法: To ...
- causal snps | causal variants | tensorflow | 神经网络实战 | Data Simulation
先读几篇文章: Interpretation of Association Signals and Identification of Causal Variants from Genome-wide ...
- org.hibernate.id.IdentifierGenerationException
[问题]org.hibernate.id.IdentifierGenerationException: ids for this class must be manually assigned bef ...
- LeetCode--443--压缩字符串(未看)
问题描述: 给定一组字符,使用原地算法将其压缩. 压缩后的长度必须始终小于或等于原数组长度. 数组的每个元素应该是长度为1 的字符(不是 int 整数类型). 在完成原地修改输入数组后,返回数组的新长 ...
- Web版记账本开发记录(一)
//index.js var util = require("../../utils/util.js"); //获取应用实例 var app = getApp(); Page({ ...