当前位置:首页 » 编程语言 » java字符串中字符个数

java字符串中字符个数

发布时间: 2023-01-20 11:19:37

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

【实例描述】

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


【实现过程】

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

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

【代码解析】

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

publicstaticbooleanmatches(Stringregex,CharSequenceinput);【知识扩展】

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

Ⅱ java定义一个字符串个数为7个

1. java中定义一个字符串数组方式如下,string类型和其他基本类型相似,创建数组有两种方式 :
String[] str={"AAA","BBB","CCC"};
String str[]={"AAA","BBB","CCC"};
2.推荐用ArrayList
strArray = new ArrayList
(); 比较灵活。
3.也可以写为如下格式:class[] array; array = new class[number];其中前半句为声明,后半句为初始化,初始化必须要让编译器知道大小,声明的时候java是不分配内存的,只有创建的时候也就是new的时候才会分配内存。

Ⅲ 在JAVA中,键盘输入的字符串中包含的字母、数字和其他字符的个数如何制作

importjava.util.Scanner;/***统计字符串中数字,字母,空格,其他字符的个数*

@authorAdministrator**/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数组

or(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);}}


Ⅳ 如何用java String 查找字符个数

import java.util.Scanner;
public class test3 {
public static void main(String [] args){
System.out.print("inuput : ");
Scanner input=new Scanner(System.in);
int [] digit =new int[256];
String inputString = input.next();
//为了避免在输入的时候错误的键入了空格和table,进行一下处理
//以空格为分隔符分割字符串
String [] strings=inputString.split(" ");
String inputString1="";
//将分割后的字符串重新连接起来
for(String str : strings){
inputString1+=str;
}
//以table为分隔符分割字符串
strings=inputString.split(" ");
//将分割后的字符串重新连接起来
String inputString2="";
for(String str : strings){
inputString2+=str;
}
String returnString="";
for (int i = 0; i < inputString2.length(); i++) {
digit[inputString.charAt(i)-'!']++;
//将重复的字符输出,这里为什么是2呢有人会问重复次数也可以大于2啊?
//是因为大于2的在2的时候已经被输出,为了避免重复次数大于2的字符被重复输出,所以这里只能是2
if(digit[inputString.charAt(i)-'!']==2){
returnString+=inputString.charAt(i);
}
}
System.out.print(returnString);
}
}


楼主算是问对人了

马上给答案


楼主虽然我这个最终目的不是统计每个字符的个数,但是代码里面已经实现了这个功能,只要稍作修改就可以,我的主要功能是输出重复的字符!


希望我给的代码楼主还满意

Ⅳ 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
}

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

整个代码就是为了统计字符串中各个字符出现的个数
Map<Character, Integer> result = getCharMaps(s); 这个方法调用
主要是看这个方法
public static Map<Character, Integer> getCharMaps(String s) {
Map<Character, Integer> map = new HashMap<Character, Integer>(); //定义一个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

}

热点内容
安卓系统下载铃声在哪个文件夹 发布:2025-07-18 12:52:11 浏览:271
qt程序一样但是无法编译 发布:2025-07-18 12:32:45 浏览:36
服务器搭建主机配置 发布:2025-07-18 12:12:43 浏览:126
ftp命令批量下载文件 发布:2025-07-18 11:58:45 浏览:744
nba2k17文件夹 发布:2025-07-18 11:48:53 浏览:871
朔源码是什么 发布:2025-07-18 11:44:33 浏览:775
迷你世界解压剧场 发布:2025-07-18 11:43:48 浏览:155
linux安装opencv 发布:2025-07-18 11:42:10 浏览:447
编程游戏的软件有哪些 发布:2025-07-18 11:41:34 浏览:957
c程序设计语言电子书 发布:2025-07-18 11:35:58 浏览:643