如何计算字符串中的大写和小写字母?

yyz*_*234 8 java string character-class

哟,所以我试图制作一个程序,可以从用户输入字符串输入例如:"ONCE UPON a time"然后报告该字符串包含多少个大写和小写字母:

输出示例:字符串有8个大写字母,字符串有5个小写字母,我应该使用字符串类而不是数组,有关如何开始这个的任何提示?在此先感谢,这是我到目前为止所做的:D!

import java.util.Scanner;
public class q36{
    public static void main(String args[]){

        Scanner keyboard = new Scanner(System.in);
        System.out.println("Give a string ");
        String input=keyboard.nextLine();

        int lengde = input.length();
        System.out.println("String: " + input + "\t " + "lengde:"+ lengde);

        for(int i=0; i<lengde;i++) {
            if(Character.isUpperCase(CharAt(i))){

            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

TNT*_*TNT 18

只需创建在找到小写或大写字母时递增的计数器,如下所示:

for (int k = 0; k < input.length(); k++) {
    /**
     * The methods isUpperCase(char ch) and isLowerCase(char ch) of the Character
     * class are static so we use the Class.method() format; the charAt(int index)
     * method of the String class is an instance method, so the instance, which,
     * in this case, is the variable `input`, needs to be used to call the method.
     **/
    // Check for uppercase letters.
    if (Character.isUpperCase(input.charAt(k))) upperCase++;

    // Check for lowercase letters.
    if (Character.isLowerCase(input.charAt(k))) lowerCase++;
}

System.out.printf("There are %d uppercase letters and %d lowercase letters.",upperCase,lowerCase);
Run Code Online (Sandbox Code Playgroud)


小智 5

Java8中的解决方案:

private static long countUpperCase(String s) {
    return s.codePoints().filter(c-> c>='A' && c<='Z').count();
}

private static long countLowerCase(String s) {
    return s.codePoints().filter(c-> c>='a' && c<='z').count();
}
Run Code Online (Sandbox Code Playgroud)


Nir*_*ane 5

爪哇 8

private static long countUpperCase(String inputString) {
        return inputString.chars().filter((s)->Character.isUpperCase(s)).count();
    }

    private static long countLowerCase(String inputString) {
        return inputString.chars().filter((s)->Character.isLowerCase(s)).count();
    }
Run Code Online (Sandbox Code Playgroud)