【2020.02.18】算法学习记录——统计大写字母个数

算法-统计大写字母个数


题目描述
找出给定字符串中大写字符(即’A’-‘Z’)的个数

接口说明

原型:int CalcCapital(String str);

返回值:int

输入描述:输入一个String数据

输出描述:输出string中大写字母的个数

示例1
输入
add123#$%#%#O

输出
1

来源:牛客网

思路一:
利用Character类中的.isUpperCase(char)方法来判断该元素是否为大写字母:

import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        while(input.hasNext()){
            int count = 0;
            String str = input.nextLine();
            for(int i = 0; i < str.length(); i++){
                if(Character.isUpperCase(str.charAt(i))){
                    count += 1;
                }
            }
            System.out.println(count);
        }
    }
}

思路二:
利用ASCII码来判断:

import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner input = new Scanner(System.in);
        while(input.hasNext()){
            int count = 0;
            String str = input.nextLine();
            for(int i = 0; i < str.length(); i++){
                if((int)str.charAt(i)<91 && (int)str.charAt(i)>64){
                    count += 1;
                }
            }
            System.out.println(count);
        }
    }
}

笔记:

针对char的处理判断有很多常用方法:

Character.isLetterOrDigit(char ch); //判断该字符是否为数字或字母
Character.isLowerCase(char ch);    //判断该字符是否为小写字母
Character.isUpperCase(char ch);    //判断该字符是否为大写字母
Character.toLowerCase(char ch);    //将该字符转换为小写字母
Character.toUpperCase(char ch);    //将该字符转换为大写字母
Character.isDigit(char ch);        //判断该字符是否为数字 

注:针对String也有大小写转换方法,但是用法为:

String value = "UPPER";
value = value.toLowerCase();

你可能感兴趣的:(算法)