美文网首页
Java输出字符串中的大写英文字母数,小写英文字母数以及非英文字

Java输出字符串中的大写英文字母数,小写英文字母数以及非英文字

作者: 听风听雨oline | 来源:发表于2018-10-13 16:39 被阅读0次
import java.util.*;

/**
 * 3、编写一个程序,输出一个字符串中的大写英文字母数,小写英文字母数以及非英文字母。
    提示:
        方法一:使用循环提取字符,判断字符是否在A-Z 、a-z区间
        方法二:定义大写、小写字母字符串列表,使用循环提取字符,判断字符在大写字母还是小写字母列表
        方法三:使用Character.isUpperCase和Character.isLowerCase直接判断字符类型
 * @author 万星明
 */
public class Work3 {
    public static void main(String[] args) {
        
        @SuppressWarnings("resource")
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入字符串:");
        String st = sc.next();
        way1(st);
        way2(st);
        way3(st);
        
    }
    /**
     * 方法一:使用循环提取字符,判断字符是否在A-Z 、a-z区间
     * @param st
     */
    public static void way1(String st) {
        int countA = 0,counta = 0,count= 0;
        
        for(int i=0;i<st.length();i++) {
            if(st.charAt(i)<='Z'&&st.charAt(i)>='A') {
                countA++;
            }else if(st.charAt(i)<='z'&&st.charAt(i)>='a') {
                counta++;
            }else {
                count++;
            }   
        }
        System.out.println("大写字符数:"+countA+"\t小写字符数:"+counta+"\t非英文字母字符数:"+count);
    }
    /**
     * 方法二:定义大写、小写字母字符串列表,使用循环提取字符,判断字符在大写字母还是小写字母列表
     * @param st
     */
    public static void way2(String st) {
        int countA = 0,counta = 0,count= 0;
        String M = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
        String m = "abcdefghijklmnopqrstuvwxyz";
        for(int i=0;i<st.length();i++) {
            if(M.contains(st.substring(i,i+1))) 
                countA++;
            else if(m.contains(st.substring(i,i+1)))
                counta++;
            else
                count++;
        }
        System.out.println("大写字符数:"+countA+"\t小写字符数:"+counta+"\t非英文字母字符数:"+count);
    }
    /**
     * 方法三:使用Character.isUpperCase和Character.isLowerCase直接判断字符类型
     */
    public static void way3(String st) {
        int countA = 0,counta = 0,count= 0;
        for(int i=0;i<st.length();i++) {
            if(Character.isUpperCase(st.charAt(i)))
                countA++;
            else if(Character.isLowerCase(st.charAt(i)))
                counta++;
            else
                count++;
        }
        System.out.println("大写字符数:"+countA+"\t小写字符数:"+counta+"\t非英文字母字符数:"+count);
    }
    
    
}

相关文章

网友评论

      本文标题:Java输出字符串中的大写英文字母数,小写英文字母数以及非英文字

      本文链接:https://www.haomeiwen.com/subject/dnwoaftx.html