java 统计个数_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");

}

}

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值