Java统计一个字符串中每个字符出现的次数的方法
时间:2022-05-27 22:38:20
收藏:0
阅读:16
方法1:
package com.st.train;
import java.util.Arrays;
import java.util.Scanner;
/**
* 统计一个字符串中每个字符出现的次数
* 解决思路:
* 1.首先从键盘接收一个字符串
* 2.将这个字符串转化为字符串数组
* 3.将这个数组进行排序
* 4.排序之后统计他出现的字数
*/
public class StatisticalCharacters5 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个字符串:");
//把从键盘接受的字符串放到一个数组中存储。
char[] chars = sc.nextLine().toCharArray();
//将数组进行排序
Arrays.sort(chars);
System.out.println(Arrays.toString(chars));
//定义计数器count
int count = 1;
/**
* 如果第一项等于第二项,第二项等于第三项,说明这个数出现了3次,也就是等于第n项,那么就出现了n次;
*/
//给数组长度+1;
char[] chars1 = Arrays.copyOf(chars,chars.length+1);
for(int i=1;i<chars1.length;i++){
if(chars1[i-1]!=chars1[i]||i==chars1.length-1){
System.out.println(chars1[i-1]+"出现的次数"+count);
count = 1;
}else if(chars1[i-1]==chars1[i]){
count++;
}
}
}
}
方法2:
package com.st.train;
import java.util.Arrays;
import java.util.Scanner;
public class StatisticalCharacters2 {
/**
* 题目:输入一行字符,统计各个字符(汉字、字母、数字、空格、特殊符号)
* 出现的个数
*/
public static void main(String[] args) {
try (Scanner input = new Scanner(System.in)) {
System.out.println("请输入一行字符:");
String s=input.nextLine();
char[] arr = s.toCharArray();
System.out.println(Arrays.toString(arr));
for(int i = 0 ; i < arr.length; i++) {
int count = 0;
//限制统计过的字符不在统计第二遍
if (arr[i] != 0 ) {
char c=arr[i];
for(int j = 0 ; j < arr.length ; j++) {
if(c == arr[j]) {
count++;
//将之前出现并统计过的字符赋值为0
arr[j] = 0;
}
}
System.out.println(c+"共有"+count+"个");
}
}
}
}
}
原文:https://www.cnblogs.com/wsnt1219/p/15327461.html
评论(0)