java字符串中字符个数计算

1.有一个字符串,例如 str="asddfg sssd adfe" 如何统计每个字符的个数
输出结果如:
a 2个
s 4个
d 4个
f 2个
g 1个
e 1个

 2.有一个字符串,例如 str="asddfg  sssd   adfe" 对字符串进行重排输出字符串“asddfgsssdadfe”
 注意:字符串中的空格不是一个而是多个。求方法(思想)。

5个回答

先转化成字符数组,然后遍历,定义一个map集合,将遍历的结果往里加,例如'a',第一次出现,key值为a,value为1,往后遇到重复出现的,value为getKey() + 1.

  1. 对于第一个吧,我不知道你是否需要去掉空格。 如果不需要的, 那么可以用Hashmap 来储存结果,因为Hashmap 的 key 在同一个hashmap 里是唯一性的,比如你有一个key 叫 "a", 那么这个hashmap 里就不能有另一个key 叫“a". 然后用for 来循环整个字组, 如果hashmap 里没有那个字母key 的存在,就添加进hashmap, 有的话,就加一。具体如下: String example = "asddfg sssd adfe"; HashMap map = new HashMap<>(); for (char item : example.toCharArray()) { if (map.containsKey(item)) { int val = map.get(item); map.put(item, val + 1); } else { map.put(item, 1); } } System.out.println(map);

对于你的第二个问题,其实蛮简单的,用表达式把空格拿掉就好了, “\s+" 的意思就是去掉所有空格,不管是一个,两个。。。
String example = "asddfg sssd adfe";
example = example.replaceAll("\s+", "");
System.out.println(example);


如果你需要在统计前去掉空格,你就先用第二个的结果,去统计就好了。

利用hashMap实现

```HashMap hm = new HashMap();
char[] c = s.toCharArray();
for(int i = 0; i<c.length;i++){
if(hm.containsKey(c[i])){

            hm.put(c[i],hm.get(c[i])+1 );
        }else{
            hm.put(c[i], 1);
        }
    }

    for(Character key : hm.keySet()){
        System.out.println(key + " = " + hm.get(key));
    }

class Test{

String str = "asddfg sssd adfe";
int strlength = str.length();
int i = 0;

int[] num = new int[26];
char[] cht = new char[26];

void Cal()
{
    while(i<strlength)
    {
        char ch = str.charAt(i);
        if(ch>='a'&&ch<='z'){
            num[ch-'a']++;
            cht[ch-'a']=ch;
        }

        i++;
    }
    for(i=0;i<26 ;i++)
    {
        System.out.println("字符"+cht[i]+"=="+num[i]+"个");
    }
}
public static void main(String argv[])
{
    Test test = new Test();
    test.Cal();
    System.out.println("hello world!");
}

}
结果如下:
图片说明

 import java.util.Scanner;  

public class 统计字符 {  
    public static void main(String[] args) {  

        Scanner sc = new Scanner(System.in);  
        int[] a = new int[26];//数组存放对应26个字母的出现次数比如a[0]的值对应字母a出现的次数,a[2]的值对应c出现的次数。。。  
        System.out.println("请输入一串小写字符串");  
        String str=sc.nextLine();  
        str=str.trim().toLowerCase();//去掉前后空格并且全转为小写字母  

        //此for循环求各个字母出现的次数  
        for (int i = 0; i < str.length(); i++)  
        {  
            char c = str.charAt(i);//依次取出每个字母  
            int index=c-'a';//这样就可以得到每个字母对应的数组下标  
            a[index]=a[index]+1;//对应字母出现则存储字母的数组加1  
        }  

        //此for循环打印每个字母出现的次数,没有出现则不打印输出  
        for (int i = 0; i < a.length; i++)  
        {  
            if(a[i]!=0)//等于0相当于这个字母没出现就没必要打印  
            {  
                System.out.println("字母"+(char)(i+'a')+"出现:"+a[i]+"次");  
            }  
        }  
    }  

}  
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
查看java字符串中某字符的个数
查看java字符串中某字符的个数; 比如 String str=1989-2-12; 想判断此字符串中“-”的个数; 有没有直接可用的方法。 求解。 :lol: 最终我解决了这个问题: package action; public class test { public static void main (Str...
计算字符串中字符个数
计算一个输入的字符串中各字母的个数和总的个数和每个字母的出现概率
计算字符个数
题目描述: 写出一个程序,接受一个有字母和数字以及空格组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。 输入描述: 输入一个有字母和数字以及空格组成的字符串,和一个字符。 输出描述: 输出输入字符串中含有该字符的个数。 算法实现:package com.husweijishi.suanfa;import java.util.Scanner; import j
华为机试 — 计算字符个数
题目描述 写出一个程序,接受一个由字母和数字组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。 输入描述: 输入一个有字母和数字以及空格组成的字符串,和一个字符。 输出描述: 输出输入字符串中含有该字符的个数。 示例1 输入 ABCDEF A 输出 1 #include&amp;lt;iostream&amp;gt; #include&amp;lt;string&amp;g...
计算字符个数嘛!!
给我个求输入字符串中字母个数的程序,rn最好是通过了编译连接的!!
2、计算字符个数
题目描述:写出一个程序,接受一个有字母和数字以及空格组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。输入描述:输入一个有字母和数字以及空格组成的字符串,和一个字符。输出描述:输出输入字符串中含有该字符的个数。C++ code#include <iostream> #include "string.h" using namespace std; #define MAX 5
华为机试_计算字符个数
import java.util.*; public class huawei_1002 { public static void main(String[] args) { Scanner sc=new Scanner(System.in); String str=sc.next(); String re=sc.next(); int ans=0; for(int...
华为-计算字符个数
题目链接 https://www.nowcoder.com/practice/a35ce98431874e3a820dbe4b2d0508b1?tpId=37&amp;amp;tqId=21225&amp;amp;tPage=1&amp;amp;rp=&amp;amp;ru=/ta/huawei&amp;amp;qru=/ta/huawei/question-ranking 题目描述 写出一个程序,接受一个有字母和数字以及空格组成...
Python实现计算字符个数
题目描述 接收一个由字母和数字组成的字符串,和一个字符,然后输出字符串中含有该字符的个数,不区分大小写。 输入/输出描述 输入:一个字符串,并在另一行输入一个字符。 例如:ASDF A 输出:字符在字符串中的个数(不区分大小写)。例如:1 题目分析 定义两个字符串,一个接收输入的字符,另一个接收要计算的字符数...
计算字符个数 java
题目描述 写出一个程序,接受一个由字母和数字组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。 输入描述: 输入一个有字母和数字以及空格组成的字符串,和一个字符。 输出描述: 输出输入字符串中含有该字符的个数。 示例1 输入 复制 ABCDEF A 输出 复制 1 import java.util.Scanner; ...
字符个数计算问题。
计算数字个数和其他字符数,总是不对,但不知道哪错了。高手帮忙分析一下,谢谢。rn#include "stdio.h"rnmain()rnrn long nc,no,nw;rn long c;rn nc=0;rn no=0;rn nw=0;rn c=getchar();rn while(getchar()!=EOF)rn rn ++nc;rn if(c>='0'&&c<='9')rn ++nw;rn if(c==' '||c=='\n'||c=='\t')rn ++no;rn rn rn printf("%ld %ld %ld \n",nc,nw,no);rn rn
华为机试,计算字符的个数
/* * 题目描述 写出一个程序,接受一个有字母和数字以及空格组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。输入描述: 输入一个有字母和数字以及空格组成的字符串,和一个字符。 输出描述: 输出输入字符串中含有该字符的个数。 示例1 输入ABCDEF A 输出1
python实现-计算字符个数
题目描述 写出一个程序,接受一个有字母和数字以及空格组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。 输入描述: 输入一个有字母和数字以及空格组成的字符串,和一个字符。 输出描述: 输出输入字符串中含有该字符的个数。
【Java】计算字符个数
题目描述 写出一个程序,接受一个由字母和数字组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。 输入描述: 输入一个有字母和数字以及空格组成的字符串,和一个字符。 输出描述: 输出输入字符串中含有该字符的个数。 注意啊!!!这道题有个点,它不区分大小写,所以这里我用一个String类自带的方法,equalsIgnoreCase( )方法。当比较两个字符串时,它...
【华为机试】计算字符个数
此题出自牛客网的华为机试训练专题 题目描述 写出一个程序,接受一个由字母和数字组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。 输入描述:   输入一个有字母和数字以及空格组成的字符串,和一个字符。 输出描述:   输出输入字符串中含有该字符的个数。 示例1 输入 ABCDEF A 输出 1 题解如下 import java...
计算字符个数(牛客网)
写出一个程序,接受一个有字母和数字以及空格组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。AC 100%:a = raw_input() b = raw_input() print (a.upper().count(b.upper()))AC 30%:import sys a = raw_input() a = a.upper() a = a.split() coun...
字符个数计算问题
我首先定义了一个String类型,但是我用"\\,"取出这个字符串中的所有","再计算其长度的时候发现了一个问题,那就是当我什么也没有输入的时候结果显示为1,当我正常输入N个字符的时候显示的字符个数是正确的,还请各位大虾点化一下小弟rn这个代码:rn String vars=JOptionPane.showInputDialog("请输入A集合中的元素");rn if(IllegalOrNot1(vars)) //其中IllegalOrNot1(vars))是用来判断A中是否有重复元素的函数rn String[] tempvars=vars.split("\\,");rn int i=tempvars.length;rn System.out.println("集合A中有"+i+"元素");
计算输入字符个数
#include rn rn#define YES 1rn#define NO 0rnrnint main()rnrn int nw, nl,nc,c,inword;rn nw=nl=nc;inword=NO;rn while((c=getchar())!=EOF)rn ++nc;rn if(c=='\n')rn ++nl;rn if((c=='\n')||(c==' ')||(c=='\t'))rn inword=NO;rn else if(inword==NO)rn inword=YES;rn ++nw;rn rn rn printf("%d %d %d\n",nl,nw,nc);rnrn //为何在VC或者GCC 中调试不出?
计算组合字符个数?
[size=24px]最近有个想法,想用编程实现:统计下面表中, 类别为主叫且号码是1的个数? rn(该表在txt中存放)大家给个建议。 rnrnrn 类别 号码 rn--------------------------------------------- rn 主叫 1 rn 被叫 2 rn 主叫 1 rn 被叫 2 rn 主叫 1 rn 被叫 2 rn 主叫 1 rn 被叫 2 rn 主叫 1 rn 被叫 1 rn 主叫 1 rn 被叫 2 rn 主叫 1 rn 被叫 2 rn 被叫 2 rn 被叫 2 rn 被叫 2 rn 被叫 2 rn 被叫 1 rn 被叫 2 rn 被叫 1 rn 被叫 1 rn 被叫 1 rn 主叫 1 rn 主叫 1 rn 主叫 1 rn 主叫 2 rn 主叫 2 rn 主叫 2 rn 主叫 2 [/size]
计算字符个数(java)
import java.util.*; public class Main{ public static void main(String[] args) { Scanner scan = new Scanner(System.in); String str = scan.nextLine(); String str1 = scan.nextLine(); cha
计算字符个数 java
计算字符个数 题目描述 写出一个程序,接受一个由字母和数字组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。 输入描述: 输入一个有字母和数字以及空格组成的字符串,和一个字符。 输出描述: 输出输入字符串中含有该字符的个数。 示例1 输入 ABCDEF A 输出 1 代码: import java.util.*; public class...
Map集合计算字符的个数
import java.util.HashMap; import java.util.Map; import java.util.Scanner; public class Demo07_Day04_Map集合计算字符的个数 { public static void main(String[] args) { //创建Map集合的对象 Map&amp;lt;Character,Integ...
2——计算字符个数
题目描述 写出一个程序,接受一个有字母和数字以及空格组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。 输入描述: 输入一个有字母和数字以及空格组成的字符串,和一个字符。 输出描述: 输出输入字符串中含有该字符的个数。 输入例子: ABCDEF A 输出例子: 1 代码如下: #include #include using na
华为机试——计算字符个数
题目描述写出一个程序,接受一个有字母和数字以及空格组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。输入描述: 输入一个有字母和数字以及空格组成的字符串,和一个字符。输出描述: 输出输入字符串中含有该字符的个数。输入例子: ABCDEF A输出例子: 1思路:将输入字符转成小写,s中当前的字符如果和这个字符相等或者ASCII码值小32,计数。代码:#includ
计算重复字符个数
import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import java.util.Scanner; public class Main { public static void main(String args[]
关于计算字符个数
小弟有一个内涵字母 数字 符号 汉字的字符串,想要计算出总得个数,汉字站2个。 请大虾帮忙
java字符串与字符
字符串分解成字符数组 .toCharArray() 字符串查找特定位置的字符 .charAt(i) eg: String string=new String("abcd "); char a[]=string.toCharArray(); for(int i=0;i { System.out.println(a[i]); } 或者 for (i=0;i { Sy
java字符串中字符大小写的转换
本来以为很简单的一个程序,竟然搞了二个钟头没出来预期结果.唉,菜鸟就是菜鸟.rnrnrnrn[color=#00FF00]题目:将一个字符串中的小写字母变成大写字母,并将大写字母变成小写字母.[/color]我写的程序如下:rnpublic class Charconvert rn public static void main(String[]args)rn String s=new String("I love China!");rn int i;rn rn char ch[]=new char[s.length()];rn s.getChars(0,s.length()-1,ch,0);rn rn for(i=0;i
计算字符串中的单双字节字符个数
在vb6.0中,经常会用到计算字符串中的单双字节字符个数,可用于精确定位字符串显示位置、格式化文档中的字符串等。
如何计算getchar()字符串中的字符个数
众所周知,getchar函数是用来读入字符数据,如果我不是一个一个输入(一个个输入直接用n++就可以统计了),而是一下子输入一个字符串,那么我编程的时候如何获得这个字符串中字符个数呢?rnrn下面是一个程序,用于计算读入字符串的行数,单词数和字符个数,前两个功能没有问题,最后字符个数算不出来,所以求教???(运行输入若干字符串后以ctrl+z结束输入)rnrn#includern#define in 1rn#define out 0rnmain()rn rn int c,n1,nw,nc,state;rn state=out;rn n1=nw=nc=0;rn while((c=getchar())!=EOF )rn rn rn ++nc;rn if(c=='\n')rn ++n1;rn if(c==' '||c=='\n'||c=='\t')rn state=out;rn else if(state==out)rn rn state=in;rn ++nw;rn rn rn printf("%d %d %d\n",n1,nw,nc);rn
如何计算字符串中某个字符的个数
如何计算字符串中某个字符的个数
相关热词 c# 线程结束时执行 c# kb mb 图片 c# 替换第几位字符 c#项目决定成败 c# 与matlab c# xml缩进 c#传感器基础 c#操作wps c# md5使用方法 c# 引用父窗口的组件