import java.util.Scanner;
public class StringProcessing {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个字符串: ");
String str = scanner.nextLine();
int counts[] = count(str);
System.out.println("大写字母: " + counts[0] + ", 小写字母: " + counts[1] +", 数字: " + counts[2]);
System.out.println("反转结果: " + reverse(str));
if(palindromic(str)) {
System.out.println("是回文字符串");
} else {
System.out.println("不是回文字符串");
}
scanner.close();
}
public static int[] count(String str) {
int upperCount = 0;
int lowerCount = 0;
int digitsCount = 0;
for (char ch : str.toCharArray()) {
if (Character.isUpperCase(ch)) {
upperCount++;
} else if (Character.isLowerCase(ch)) {
lowerCount++;
} else if (Character.isDigit(ch)) {
digitsCount++;
}
}
return new int[]{upperCount, lowerCount, digitsCount};
}
public static String reverse(String str) {
String reverseStr = "";
for ( int i = str.length() - 1; i >= 0; i--) {
reverseStr += str.charAt(i);
}
return reverseStr;
}
public static boolean palindromic(String str) {
for ( int i = 0; i < str.length() / 2; i++) {
if (str.charAt(i) != str.charAt(str.length() - 1 - i)) {
return false;
}
}
return true;
}
}