Python、Java、C++ 三语言实现字符串各类字符个数统计
以下是使用不同编程语言实现统计输入字符串中数字字符、大写字符、小写字符、空格字符和特殊字符个数的代码: Python 实现 ```python # 获取用户输入的字符串 input_str = input() # 初始化各类字符的计数为 0 digit_count = 0 upper_count = 0 lower_count = 0 space_count = 0 special_count = 0 # 遍历输入字符串中的每个字符 for char in input_str: if char.isdigit(): digit_count += 1 elif char.isupper(): upper_count += 1 elif char.islower(): lower_count += 1 elif char.isspace(): space_count += 1 else: special_count += 1 # 输出各类字符的计数,用空格分隔 print(digit_count, upper_count, lower_count, space_count, special_count) ``` 代码解释 - 首先使用 `input()` 函数获取用户输入的字符串。 - 然后初始化五个变量分别用于统计数字字符、大写字符、小写字符、空格字符和特殊字符的个数。 - 接着遍历输入字符串中的每个字符,根据字符的类型增加相应的计数。 - 最后将各类字符的计数用空格分隔后输出。 Java 实现 ```java import java.util.Scanner; public class CharacterCount { public static void main(String[] args) { // 创建 Scanner 对象用于读取用户输入 Scanner scanner = new Scanner(System.in); // 获取用户输入的字符串 String inputStr = scanner.nextLine(); scanner.close(); // 初始化各类字符的计数为 0 int digitCount = 0; int upperCount = 0; int lowerCount = 0; int spaceCount = 0; int specialCount = 0; // 遍历输入字符串中的每个字符 for (int i = 0; i < inputStr.length(); i++) { char c = inputStr.charAt(i); if (Character.isDigit(c)) { digitCount++; } else if (Character.isUpperCase(c)) { upperCount++; } else if (Character.isLowerCase(c)) { lowerCount++; } else if (Character.isWhitespace(c)) { spaceCount++; } else { specialCount++; } } // 输出各类字符的计数,用空格分隔 System.out.println(digitCount + " " + upperCount + " " + lowerCount + " " + spaceCount + " " + specialCount); } } ``` 代码解释 - 使用 `Scanner` 类获取用户输入的字符串。 - 初始化五个变量用于统计各类字符的个数。 - 通过 `for` 循环遍历输入字符串的每个字符,利用 `Character` 类的方法判断字符类型并增加相应的计数。 - 最后将各类字符的计数用空格分隔后输出。 C++ 实现 ```cpp #include <iostream> #include <string> int main() { // 获取用户输入的字符串 std::string inputStr; std::getline(std::cin, inputStr); // 初始化各类字符的计数为 0 int digitCount = 0; int upperCount = 0; int lowerCount = 0; int spaceCount = 0; int specialCount = 0; // 遍历输入字符串中的每个字符 for (char c : inputStr) { if (std::isdigit(c)) { digitCount++; } else if (std::isupper(c)) { upperCount++; } else if (std::islower(c)) { lowerCount++; } else if (std::isspace(c)) { spaceCount++; } else { specialCount++; } } // 输出各类字符的计数,用空格分隔 std::cout << digitCount << " " << upperCount << " " << lowerCount << " " << spaceCount << " " << specialCount << std::endl; return 0; } ``` 代码解释 - 使用 `std::getline` 函数获取用户输入的字符串。 - 初始化五个变量用于统计各类字符的个数。 - 通过范围 `for` 循环遍历输入字符串的每个字符,利用 `<cctype>` 头文件中的函数判断字符类型并增加相应的计数。 - 最后将各类字符的计数用空格分隔后输出。 ######[AI问答 | 1035点数解答 | 2025-12-07 17:35:36]
- Java 实现复制粘贴功能:打造简易文本复制粘贴程序(GPT | 1497点数解答 | 2024-08-25 09:40:33)413
- C++实现读取数字并输出最小值的代码及解释(字节豆包 | 113点数解答 | 2026-03-20 19:32:56)17
- C++ 求解:最少操作次数让字符串无子串 “friend” (字节豆包 | 153点数解答 | 2024-08-17 16:29:54)484
- C++ 求解:最少操作次数让字符串不再含 “friend” 子串!(讯飞星火 | 260点数解答 | 2024-08-17 16:30:49)472
- Python 巧解:最少操作次数让字符串告别“friend”子串(字节豆包 | 139点数解答 | 2024-08-18 13:04:14)410
- 3414 数字游戏:Python 求解 8 位 01 字符串中 1 的个数 (字节豆包 | 106点数解答 | 2024-10-27 14:23:27)434
- 巧用字符添加,计算字符串中“our”最大数量及开发注意要点(DeepSeek | 376点数解答 | 2025-10-30 19:20:06)82
- C 语言实现:处理字符串生成最多 “our” 串,附代码及关键开发注意点 (DeepSeek | 257点数解答 | 2025-10-30 19:20:36)113
- Python 运行报错:urllib3 网络连接创建失败,原因及排查建议(字节豆包 | 161点数解答 | 2024-10-31 00:39:36)469
- Python 实战:学生信息列表转字典、遍历、深拷贝及数据修改全流程(GPT | 422点数解答 | 2024-10-29 15:43:54)425
- Python实战:学生成绩列表转字典,深拷贝与数据修改操作全解析(字节豆包 | 254点数解答 | 2024-10-29 16:01:39)417
- 解决数据库“dm.jdbc.driver.dmexception: 数据溢出”问题的全步骤指南(阿里通义 | 598点数解答 | 2024-10-15 15:48:38)315