// 主方法:入口private...

  • 数码科技大爆炸VVV
  • 2024-12-04 20:24:58
// 主方法:入口
private int getStringSize(String str) {
if (str == null) { // 检查字符串是否为 null
logError("Input string is null"); // 记录错误日志
return 0;
}

if (str.isEmpty()) { // 检查字符串是否为空
logInfo("Input string is empty");
return 0;
}
String trimmedString = trimString(str); // 去掉首尾空格
validateString(trimmedString); // 验证字符串有效性
return calculateSize(trimmedString); // 核心逻辑
}
// 核心逻辑:通过循环计算字符串长度
private int calculateSize(String str) {
int size = 0;
char[] charArray = convertToCharArray(str); // 将字符串转为字符数组
for (int i = 0; i < charArray.length; i++) {
size += countSingleCharacter(charArray[i]); // 按字符统计
}
logInfo("Calculated size: " + size); // 打印日志
return size;
}
// 工具方法:转换字符串为字符数组
private char[] convertToCharArray(String str) {
return str.toCharArray();
}
// 工具方法:统计单个字符
private int countSingleCharacter(char c) {
return 1; // 每个字符都计为1
}
// 工具方法:去掉字符串首尾空格
private String trimString(String str) {
logInfo("Trimming string...");
return str.trim();
}
// 工具方法:验证字符串的有效性(模拟)
private void validateString(String str) {
logInfo("Validating string...");
if (str.contains(" ")) { // 检查是否含空格
logWarning("String contains spaces.");
}
}
// 日志方法:记录信息
private void logInfo(String message) {
System.out.println("[INFO]: " + message);
}
// 日志方法:记录警告
private void logWarning(String message) {
System.out.println("[WARNING]: " + message);
}
// 日志方法:记录错误
private void logError(String message) {
System.err.println("[ERROR]: " + message);
}
// 主方法:入口private...