云沙

博客园 首页 联系 订阅 管理

要求:输出一个字符串中的大写英文字母数,小写英文字母数以及非英文字母数,同时输出在一个字符串中指定字符串出现的次数。

代码如下:

 

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次!

posted on 2010-10-16 15:39  fragrancloud  阅读(2412)  评论(0编辑  收藏  举报