gpt4 book ai didi

java - 计算大写字母、小写字母、空格和其余(数字等)

转载 作者:行者123 更新时间:2023-12-02 01:43:51 25 4
gpt4 key购买 nike

这不仅仅涉及字符串中的大写和小写。它涉及除空格或字母之外的所有其他字符!

我正在尝试获取我正在阅读的文本文件的大写字母、小写字母、空格和其他字符的确切数量。但是我没有得到我正在寻找的确切值。唯一每次都能给我准确值的是小写字母。

我确实知道,根据我比较的字符,我也会得到不同的结果。但我不知道事情从哪个角色开始,又从哪个角色结束。尝试查看 ASCII 表来寻找答案,但这还不够。

已经尝试过这种方式,下面的代码,以及测试 for 循环数组中的字符的 if 语句。

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
class test {
public static void main(String args[]) throws IOException {
FileReader file = new FileReader("C:\\Users\\karwa\\Desktop\\kq.txt");
BufferedReader read = new BufferedReader(file);
int upper = 0, lower = 0, number = 0, special = 0;
boolean ch;
while (ch = read.read() != -1) {
for (char c : read.readLine().toCharArray()) {
char ch1 = c;
if (ch1 >= 'A' && ch1 <= 'Z')
upper++;
else if (ch1 >= 'a' && ch1 <= 'z')
lower++;
else if (ch1 >= '0' && ch1 <= '9' || ch1 >= '!' && ch1 <= '-')
number++;
else
special++;
}
}
System.out.println("Upper case letters : " + upper);
System.out.println("Lower case letters : " + lower);

System.out.println("Whitespaces : " + special);
System.out.println("Others : " + number);
}
}

最佳答案

我建议使用 Character.isUpperCaseCharacter.isLowerCaseCharacter.isDigitCharacter.isWhitespace >:

for (char c : read.readLine().toCharArray()) {                  
if(Character.isUpperCase(c)) upper++;
else if (Character.isLowerCase(c))lower++;
else if (Character.isDigit(c)) number++;
else if (Character.isWhitespace) whitespace++;
else // anything else....
}

关于java - 计算大写字母、小写字母、空格和其余(数字等),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54009153/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com