导航:首页 > 编程语言 > java统计字符串中字符个数

java统计字符串中字符个数

发布时间:2022-10-24 06:28:05

A. java语言中如何获取字符串中汉字的个数

【实例描述】

字符串中可以包含数字,字母、汉字或者其他字符。使用Character 类的isDigit()方法可以判断字符中的某个字符是否为数字,使用Character 类的isLetter()方法可以判断字符中的某个字符是否为字母。实例中将介绍一种方法用来判断字符串中的某个字符是否为汉字,通过此方法可以计算字符串中汉字的数量。实例的运行效果如图4.24 所示。


【实现过程】

在Eclipse 中新建项目ChineseCharacter,并在其中创建一个ChineseCharacter.java 文件。在该类的主方法中创建标准输入流的扫描器对象,接收用户输入的字符串。我们在程序中使用matches()方法来统计该字符串中汉字的个数。核心代码如下所示:

protected void do_button_actionPerformed(ActionEvent e) {String text = chineseArea.getText();                       // 获取用户输入int amount = 0;                                            // 创建汉字数量计数器for (int i = 0; i < text.length(); i++) {                  // 遍历字符串每一个字符                                                            // 使用正则表达式判断字符是否属于汉字编码boolean matches = Pattern.matches("^[u4E00-u9FA5]{0,}$", ""+ text.charAt(i));if (matches) {                                               // 如果是汉字amount++;                                                     // 累加计数器}}umField.setText(amount + "");                                 // 在文本框显示汉字数量
}

【代码解析】

本实例的关键点在于正则表达式的使用。Java 提供了Pattern 用于正则表达式的编译表示形式,该类提供的静态方法matches()可以执行正则表达式的匹配。该方法编译给定正则表达式并尝试给定输入与其匹配。如果要匹配的字符序列与正则表达式匹配则返回true,否则返回false。其声明语法如下:

public static boolean matches(String regex,CharSequence input);
【知识扩展】

使用正则表达式可以方便地进行字符串操作,正则表达式经常被用来验证用户输入的信息,如可以判断用户输入的格式是否正确。本实例中使用正则表达式来判断用户输入的字符串是否为汉字,如果为汉字则计数器加1,最后得到字符串中所有汉字的数量。

B. java怎么实现统计一个字符串中字符出现的次数

可以用String的indexof(str,fromindex)方法,循环遍历加一个计数器统计次数。

publicclassCountTimes{

publicstaticvoidmain(String[]args){

Stringstr="Intheentireworldthere'";

inttimes=searchstr("my",str);//返回2

System.out.println(times);

}

publicstaticintsearchstr(Stringkey,Stringstr){

intindex=0;//每次的搜索到的下标

intcount=0;//计数器
while((index=str.indexOf(key,index))!=-1){

index=index+key.length();

count++;
}
returncount;

}

}

C. java 统计字符串中每个字母有多少个

如下代码提供了三种方式统计一个字符串中出现的大小写字母和其他字符:

class Test{ publicstatic void main(String[] args) { String str = "abAM1,!23"; int cntU = 0; //大写字母的个数 int cntL = 0; //小写字母的个数 int cntOther = 0; int i; //第二种方法 String s1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; String s2 ="abcdefghijklmnopqrstuvwxyz"; for (i=0; i<str.length(); ++i) { charch = str.charAt(i); if(-1 != (s1.indexOf(ch))) { cntU++; } elseif (-1 != s2.indexOf(ch)) { cntL++; } else { cntOther++; } } // //方法二// for (i=0; i<str.length(); ++i)// {// charch = str.charAt(i);// if(Character.isUpperCase(ch))// cntU++;// elseif (Character.isLowerCase(ch))// cntL++;// else// cntOther++;// } //方法三// for (i=0; i<str.length(); ++i)// {// charch = str.charAt(i);// if(ch>='a' && ch<='z'){// cntL++;// }// elseif (ch>='A' && ch<='Z'){// cntU++;// }// else{// cntOther++;// }// } System.out.printf("大写字母个数: %d\n", cntU); System.out.printf("小写字母个数: %d\n", cntL); System.out.printf("非字母个数: %d\n", cntOther); }}

D. java统计串中字符个数的代码解释

整个代码就是为了统计字符串中各个字符出现的个数
Map
result
=
getCharMaps(s);
这个方法调用
主要是看这个方法
public
static
Map
getCharMaps(String
s)
{
Map
map
=
new
HashMap();
//定义一个map
for(int
i
=
0;
i
<
s.length();
i++)
{
//
下面的代码主要是循环字符串,一次取出每一个字符
Character
c
=
s.charAt(i);
//获取对应的字符
Integer
count
=
map.get(c);
//获取字符对应出现的次数
map.put(c,
count
==
null
?
1
:
count
+
1);
//如果之前出现过,则加1,否则直接赋1
}
return
map;
//返回最终的map
}

E. 编写java程序统计字符个数。

inteng=0;
intspace=0;
intnum=0;
intother=0;
Scannersc=newScanner(System.in);
System.out.println("请输入");
Stringstr=sc.next();
char[]arr=str.charAt();
for(inti=0;i<arr.length;i++){
if((arr[i]>='A'&&arr[i]<='Z')||(arr[i]>='a'&&arr[i]<='z')){
eng++;
}elseif(arr[i]==''){
space++;
}elseif(arr[i]>='0'&&arr[i]<='9'){
num++;
}else{
other++;
}
}
System.out.println("英语字母个数:"+eng);
System.out.println("空格个数:"+space);
System.out.println("数字个数:"+num);
System.out.println("其他个数:"+other);

F. JAVA编写:输入一个字符串然后统计某字符的个数输出

就是用一个for循环,遍历字符串,如果发现那个字符,个数就加一。
int count = 0;//个数
char c='a';
String s = "abdelabdbals";
for(int i=0;i<string.length();i++)
{
if(s.charAt(i)==c) count++;
}
System.out.println(count);

G. java中怎么统计一个字符串中每个字符的出现次数

操作如下:

String str ="2342asfghgyu56asdasda";Map<String,Integer> maps = new HashMap<String,Integer>();for(int i=0;i<str.length();i++){。

String key = String.valueOf((str.charAt(i)));if(!maps.containsKey(key)),maps.put(key, 1);else{int val =maps.get(key);maps.put(key, val+1);

for(Map.Entry i : maps.entrySet()){System.out.println(i.getKey()+ "=="+i.getValue());

H. java中通过键盘输入一串字符串,统计其中有多少种字符,每种字符多少个

importjava.util.Scanner;
/**
*统计字符串中数字,字母,空格,其他字符的个数
*@authoryoung
*
*/
publicclassData01{
publicstaticvoidmain(String[]args){
intenglishCount=0;//英文字母个数
intspaceCount=0;//空格个数
intnumCount=0;//数字个数
intotherCount=0;//其他字符个数
Scannersc=newScanner(System.in);
System.out.println("请您输入一行字符:");
Stringstr=sc.nextLine();//取得控制台输入的一行字
char[]ch=str.toCharArray();//把取道的字符串变成一个char数组
for(inti=0;i<ch.length;i++){
if(Character.isLetter(ch[i])){
//判断是否为字母
englishCount++;
}elseif(Character.isSpaceChar(ch[i])){
//判断是否为空格
spaceCount++;
}elseif(Character.isDigit(ch[i])){
//判断是否为数字
numCount++;
}else{
//以上都不是则认为是其他字符
otherCount++;
}
}
System.out.println("字母的个数:"+englishCount);
System.out.println("数字的个数:"+numCount);
System.out.println("空格的个数:"+spaceCount);
System.out.println("其他字符的个数:"+otherCount);
}
}

I. java怎么实现统计一个字符串中字符出现的次数

这是我刚根据你的需求写的,你可以参考一下!

我办法很简单,拆分存放数组里面,然后查找数组就可以了!
其实还有更简单的办法,直接用容器比较方便,目前这个办法我自己用数组写的,我个人挺满意的!
importjava.util.Scanner;
publicclass统计次数
{
privatestaticScannersc=newScanner(System.in);
publicstaticvoidmain(String[]args)
{
System.out.println(" ==========统计字符串中字符次数========== ");
init();
}//初始化!
privatestaticvoidinit()
{
for(;;)
{
System.out.println("输入文字:");
char[]arr1=fenJie(input());
System.out.println("查找的字:");
charx=muBiao(fenJie(input()));
inty=chaZhao(arr1,x);
System.out.println("你要找的是""+x+"",出现"+y+"次 =============== ");
}
}
//录入!
privatestaticStringinput()
{
Strings=sc.next();
returns;
}
//分解!
privatestaticchar[]fenJie(Strings)
{
char[]arr=newchar[s.length()];
for(inti=0;i<s.length();i++)
{
arr[i]=(char)(s.charAt(i));
}
returnarr;
}
//查找!
privatestaticintchaZhao(char[]arr,charx)
{
intnum=0,tem=-1;
for(inta=0,b=arr.length-1;a<=b;a++,b--)
{
if(a!=b&&arr[a]==x)num++;
if(a!=b&&arr[b]==x)num++;
if((a==b)&&(arr[a]==x||arr[b]==x))num++;
tem=num;
}
returntem;
}
//目标
privatestaticcharmuBiao(char[]arr)
{
returnarr[0];
}
}

J. java中 如何统计一段字符串中相同字符的个数

通过循环遍历字符串,然后一个个的比较,记下相同字符的个数就行了。代码如下:

importjava.util.Scanner;
importjava.util.TreeMap;
/**
*从键盘输入16位长整数,编程统计每个数字出现的个数
*@authoryoung
*
*/
publicclassCharMapDemo{
//统计数字或者字符出现的次数
publicstaticTreeMap<Character,Integer>Pross(Stringstr){
char[]charArray=str.toCharArray();

TreeMap<Character,Integer>tm=newTreeMap<Character,Integer>();

for(intx=0;x<charArray.length;x++){
if(!tm.containsKey(charArray[x])){
tm.put(charArray[x],1);
}else{
intcount=tm.get(charArray[x])+1;
tm.put(charArray[x],count);
}
}
returntm;
}

publicstaticvoidmain(String[]args){
Scannersc=newScanner(System.in);
// System.out.println("请输入一个长整数:");
// inttemp=sc.nextInt();
// Stringstr=String.valueOf(temp);
// TreeMap<Character,Integer>tm=Pross(str);
// System.out.println(tm);

System.out.println("请输入一个字符串:");
Stringstr=sc.nextLine();
TreeMap<Character,Integer>tm=Pross(str);
System.out.println(tm);
}
}

阅读全文

与java统计字符串中字符个数相关的资料

热点内容
unity资源包在哪个文件夹 浏览:702
阿里云服务器远程链接不成功 浏览:482
文件系统pdf 浏览:762
原神安卓区服什么意思 浏览:34
贝壳app怎么线上发布 浏览:157
如何挑选安卓系统机顶盒 浏览:53
安卓快充使用有什么注意事项 浏览:909
黑马程序员的云计算网课 浏览:946
endnotestyle文件夹怎么导入 浏览:460
讲解少儿编程演讲会开头 浏览:424
思科交换机基础命令 浏览:497
便签可以设置加密吗 浏览:339
免费漫画app怎么看书 浏览:27
华为笔记本电脑怎么安装抖音app 浏览:412
阿里云国际版试用的服务器怎么搞 浏览:895
java正则表达式工具 浏览:160
oa服务器怎么设置ftp 浏览:10
安卓如何安装obb 浏览:442
QQ聊天记录journal文件夹 浏览:118
苹果公司云服务器地址 浏览:85