您的位置:首页 > 编程语言 > Java开发

Java中字符数统计与字符串匹配

2010-10-16 15:39 459 查看
要求:输出一个字符串中的大写英文字母数,小写英文字母数以及非英文字母数,同时输出在一个字符串中指定字符串出现的次数。

代码如下:

package dg;

import java.util.ArrayList;
import java.util.Scanner;

/**
*
* @author DUGANG
*/
public class Count {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
String s = null;
String subs = null;
Scanner in = new Scanner(System.in);
System.out.println("请输入一个字符串:");
s = in.next();
System.out.println("请输入需匹配的子串:");
subs = in.next();
ArrayList<Character> al_lc = new ArrayList<Character>();
ArrayList<Character> al_uc = new ArrayList<Character>();
ArrayList<Character> al_nl = new ArrayList<Character>();
char[] c = s.toCharArray();
for(int i = 0;i<c.length;i++){
if(c[i]>=65 && c[i]<=90){
al_uc.add(c[i]);
}else if(c[i]>=97 && c[i]<=122){
al_lc.add(c[i]);
}else{
al_nl.add(c[i]);
}
}
for(char ch : al_lc)
System.out.print(ch);//输出小写英文字母串
System.out.println();
for(char ch : al_uc)
System.out.print(ch);//输出大写英文字母串
System.out.println();
for(char ch : al_nl)
System.out.print(ch);//输出非英文字母串
System.out.println();
System.out.println("输入字符串中小写英文字母数:" + al_lc.size()+ "个;  大写字英文母数:"
+ al_uc.size() + "个;  非英文字母数:" + al_nl.size() + "个。");
System.out.println("指定字符串出现了" + subCount(s, subs) +"次!");
}

public static int subCount(String string, String subs){
int count = 0;
String temp = string;
while(temp.indexOf(subs)!=-1){//当temp中无subs子串时返回-1
count++;
temp = temp.substring(temp.indexOf(subs)+subs.length());//将第一次匹配后的剩下的字符串赋值给tenp
}
return count;
}
}


结果:

请输入一个字符串:
abcAA!@#abhjkKASDabcGHababc
请输入需匹配的子串:
abc
abcabhjkabcababc
AAKASDGH
!@#
输入字符串中小写英文字母数:16个; 大写字英文母数:8个; 非英文字母数:3个。
指定字符串出现了3次!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: