根据Character.toString(t1[i]).matches("[\\u4E00-\\u9FA5]+")来匹配
昌邑网站建设公司创新互联,昌邑网站设计制作,有大型网站制作公司丰富经验。已为昌邑上千多家提供企业网站建设服务。企业网站搭建\成都外贸网站建设公司要多少钱,请找那个售后服务好的昌邑做网站的公司定做!
public static void main(String[] args) {
// TODO Auto-generated method stub
String src = "王大锤+wefw";
char[] t1 = null;
t1 = src.toCharArray();
int t0 = t1.length;
int count = 0;
for (int i = 0; i t0; i++) {
if (Character.toString(t1[i]).matches("[\\u4E00-\\u9FA5]+")) {
count ++;
}
}
System.out.println(count);
}
【实例描述】
字符串中可以包含数字,字母、汉字或者其他字符。使用Character类的isDigit()方法可以判断字符中的某个字符是否为数字,使用Character类的isLetter()方法可以判断字符中的某个字符是否为字母。实例中将介绍一种方法用来判断字符串中的某个字符是否为汉字,通过此方法可以计算字符串中汉字的数量。实例的运行效果如图4.24所示。
【实现过程】
在Eclipse中新建项目ChineseCharacter,并在其中创建一个ChineseCharacter.java文件。在该类的主方法中创建标准输入流的扫描器对象,接收用户输入的字符串。我们在程序中使用matches()方法来统计该字符串中汉字的个数。核心代码如下所示:
protectedvoiddo_button_actionPerformed(ActionEvente){Stringtext=chineseArea.getText();//获取用户输入intamount=0;//创建汉字数量计数器for(inti=0;itext.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,最后得到字符串中所有汉字的数量。
其实直接把要统计的字数放在一个字符串里就行了string str = "";
然后再用string的length方法就可以统计字符串长度了。
string str = "xxxxx";
int strlen = str.length();
system.out.print(strlen);
打印出来的数字就是所输入的字数(这里是包括标点符号的,如果要去标点空格可以用正则表达式)
由于名字是一样的,只需要利用循环结构,控制名字后面的数字就可以了,为了有良好的编程习惯,还要注意编程时的缩进。
其实现如下所写:
public class OutName
{
public static void main(String [] args)
{
for(i=1;i=100;i++)
{
System.out.println("李三"+i);
}
}
}
他没定义i,运行不了
这个行
public class q1 {
public static void main(String [] args) {
for(int i = 1; i = 100; i ++)
System.out.println("李三" + i);
}
}