1. 程式人生 > >編寫一個程式,輸出一個字串中的大寫英文字母數,小寫英文字母數以及非英文字母數。

編寫一個程式,輸出一個字串中的大寫英文字母數,小寫英文字母數以及非英文字母數。


import java.util.Scanner;
public class CountString{
    public static void main(String[] args){
        int uletter = 0;//儲存大寫字母
        int lletter = 0;//儲存小寫字母
        int noletter = 0;//儲存非字母數

  Scanner scanner = new Scanner(System.in);

  System.out.println("請輸入一個帶字母和非字母的字串");
        String str=scanner.next();
        char[] ch=str.toCharArray();
        for(char c:ch){
            if(c>='a'&&c<='z'){
                uletter++;
            }else if(c>='A'&&c<='Z'){
                lletter++;
            }else{
                noletter++;
            }
        }

       System.out.println("小寫:"+uletter+" 大寫:"+lletter+" 非字母:"+noletter);
 }
   
}

*/

import java.util.Scanner;

public class NewClass {
    public static void main(String args[]){

        int count=0;//字串出現次數
        Scanner scanner=new Scanner(System.in);
        System.out.println("請輸入一個長字串:");
        String longStr=scanner.next();
        System.out.println("請輸入一個短字串:");
        String shortStr=scanner.next();
        if(longStr.length()<shortStr.length()){
            System.out.println("字串["+shortStr+"]在字串["+longStr+"]中出現了"+count+"次");
            return;
        }
        for(int i=0;i<=longStr.length()-shortStr.length();i++){
            String tempStr=longStr.substring(i, i+shortStr.length());//將長傳分割成與字串相同長度的字串
            System.out.println(tempStr);
            if(tempStr.equals(shortStr)){
                count++;
            }
        }
        System.out.println("字串:["+shortStr+"]在字串["+longStr+"]中出現了"+count+"次");
    }
}

/**

*這是上一個程式的另一種實現方式

*/

import java.util.Scanner;

public class SubStringCount {
    public static void main(String args[]){
        int count=0;
        Scanner scanner=new Scanner(System.in);
        System.out.println("請輸入一個長字串:");
        String longStr=scanner.next();
        System.out.println("請輸入一個短字串:");
        String shortStr=scanner.next();
        int index=longStr.indexOf(shortStr);
        while(index!=-1){
            count++;
            index=longStr.indexOf(shortStr, index+shortStr.length());

        }
        System.out.println("字串["+shortStr+"]在字串["+longStr+"]中出現了"+count+"次");
    }
}