java字符串中字符个数
Ⅰ java语言中如何获取字符串中汉字的个数
【实例描述】
字符串中可以包含数字,字母、汉字或者其他字符。使用Character类的isDigit()方法可以判断字符中的某个字符是否为数字,使用Character类的isLetter()方法可以判断字符中的某个字符是否为字母。实例中将介绍一种方法用来判断字符串中的某个字符是否为汉字,通过此方法可以计算字符串中汉字的数量。实例的运行效果如图4.24所示。
【实现过程】
在Eclipse中新建项目ChineseCharacter,并在其中创建一个ChineseCharacter.java文件。在该类的主方法中创建标准输入流的扫描器对象,接收用户输入的字符串。我们在程序中使用matches()方法来统计该字符串中汉字的个数。核心代码如下所示:
【代码解析】
本实例的关键点在于正则表达式的使用。Java提供了Pattern用于正则表达式的编译表示形式,该类提供的静态方法matches()可以执行正则表达式的匹配。该方法编译给定正则表达式并尝试给定输入与其匹配。如果要匹配的字符序列与正则表达式匹配则返回true,否则返回false。其声明语法如下:
使用正则表达式可以方便地进行字符串操作,正则表达式经常被用来验证用户输入的信息,如可以判断用户输入的格式是否正确。本实例中使用正则表达式来判断用户输入的字符串是否为汉字,如果为汉字则计数器加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
}