java中的符号计数

java中的符号计数,java,methods,symbols,Java,Methods,Symbols,我正在使用一个程序读取一个文本文件,然后计算(大写、小写、空格)的数量。我的问题是如何将其余的文本(例如,“.()/:;)一起计算 下面是一些代码 for (int b = 0; b < crunchifyLine.length(); b++) { if (Character.isUpperCase(crunchifyLine.charAt(b))) { UppeLetter++; } } for (int b = 0; b < crunchifyL

我正在使用一个程序读取一个文本文件,然后计算(大写、小写、空格)的数量。我的问题是如何将其余的文本(例如,“.()/:;)一起计算

下面是一些代码

for (int b = 0; b < crunchifyLine.length(); b++) {
    if (Character.isUpperCase(crunchifyLine.charAt(b))) {
        UppeLetter++;
    }
}

for (int b = 0; b < crunchifyLine.length(); b++) {
    if (Character.isLowerCase(crunchifyLine.charAt(b))) {
        LowerLetter++;
    }
}

for (int c = 0; c < crunchifyLine.length(); c++) {
    if (Character.isWhitespace(crunchifyLine.charAt(c))) {
        spaceNum++;
    }
}       
for(int b=0;b
这不是一个优雅的解决方案,但它仍然适用于您:

final int SPACE_ASCII = ' ';
    final int UPPER_CASE_LOWER_ASCII_LIMIT = 'A';
    final int UPPER_CASE_UPPER_ASCII_LIMIT = 'Z';
    final int LOWER_CASE_LOWER_ASCII_LIMIT = 'a';
    final int LOWER_CASE_UPPER_ASCII_LIMIT = 'z';
    final int DIGIT_LOWER_ASCII_LIMIT = '0';
    final int DIGIT_UPPER_ASCII_LIMIT = '9';
    final String OTHER_CHARS = "\". ' ()/ :;";

    int uppercaseCount = 0;
    int lowercaseCount = 0;
    int whitespaceCount = 0;
    int otherSymbolsCount = 0;
    int discardedSymbolsCount = 0;

    String text = "$Your String Goes here. 123#";

    for (int i = 0; i < text.length(); i++) {
        Character c = text.charAt(i);
        if (c == SPACE_ASCII) {
            whitespaceCount++;
        } else if ((c >= DIGIT_LOWER_ASCII_LIMIT && c <= DIGIT_UPPER_ASCII_LIMIT)
                || OTHER_CHARS.contains(String.valueOf(c))) {
            otherSymbolsCount++;
        } else if (c >= UPPER_CASE_LOWER_ASCII_LIMIT && c <= UPPER_CASE_UPPER_ASCII_LIMIT) {
            uppercaseCount++;
        } else if (c >= LOWER_CASE_LOWER_ASCII_LIMIT && c <= LOWER_CASE_UPPER_ASCII_LIMIT) {
            lowercaseCount++;
        } else {
            discardedSymbolsCount++;
        }
    }

    System.out.println("White Space : " + whitespaceCount);
    System.out.println("Upper Case : " + uppercaseCount);
    System.out.println("Lower Case : " + lowercaseCount);
    System.out.println("Others : " + otherSymbolsCount);
    System.out.println("Discarded : " + discardedSymbolsCount);
final int SPACE_ASCII='';
最终整数上限、大小写、ASCII下限='A';
最终整数上限(大写)ASCII上限='Z';
最终整数下限(大写)ASCII下限='a';
最终整数下限值上限值='z';
最后的整数位数\u下限\u ASCII\u限制='0';
最终整数位数上限ASCII上限='9';
最后一个字符串OTHER_CHARS=“\”()/:;”;
int uppercaseCount=0;
int lowercaseCount=0;
int whitespaceCount=0;
int-otherSymbolsCount=0;
int discardedSymbolsCount=0;
String text=“$Your String在这里。123#”;
对于(int i=0;i=数字\u下限\u ASCII\u限值&&c=大写\u小写\u ASCII\u限值&&c=小写\u下限\u ASCII\u限值&&c基于“部分代码”,我会将其更改为类似于:

for (int b = 0; b < crunchifyLine.length(); b++) {
    if (Character.isUpperCase(crunchifyLine.charAt(b))) {
        UppeLetter++; // [sic]
    } else if (Character.isLowerCase(crunchifyLine.charAt(b))) {
        LowerLetter++;
    } else if (Character.isWhitespace(crunchifyLine.charAt(c))) {
        spaceNum++;
    } else {
        restOfTheTextTogether++;
    }
}

此外,对于样式,您正在混合以小写开头的变量和以大写开头的变量,您可以看到标记通常表示不同的含义(尽管这只是惯例)。

我认为问题在于找到类似nextInt()的东西,可能是nextSymbol()查找字符串中的符号,或将十进制数转换为二进制数的两种方法(代码或方法),因此不一定需要编写代码。我不知道答案,但我认为这不符合主题。
restOfTheTextTogether = crunchifyLine.length() -
    UppeLetter /*[sic]*/ - LowerLetter - spaceNum;