1.题目要求
编写一个 Java 程序,实现字符串反转功能
-
输入:一个任意字符串(例如 "HelloWorld")
-
输出:反转后的字符串(例如 "dlroWolleH")
-
要求:需处理空字符串、纯空格字符串等边界情况。
2.思路分析
1. 核心目标
将字符串 "HelloWorld" 反转,输出原字符串与反转后的结果。
2. 关键步骤拆解
- 定义原字符串:String arr = "HelloWorld";
- 初始化空字符串:String reversal = ""; 用于存储反转结果。
- 倒序遍历字符:
- 循环从最后一个字符索引(arr.length() – 1)开始,到 0 结束。
- 每次取 arr.charAt(i) 并拼接到 reversal。
- 输出结果:打印原字符串与反转后的字符串。
3.解题思路
public class reversal {
public static void main(String[] args) {
//创建变量
String arr ="HelloWorld";
String reversal="";
//for循环
for (int i = arr.length()-1; i >=0 ; i–) {
reversal += arr.charAt(i);
}
System.out.println("原数组:"+arr);
System.out.println("反转后的结果:"+reversal);
}
}
题目2
1.题目要求
编写一个 Java 程序,统计输入字符串中各类字符的出现次数:
– 统计类别:大写字母、小写字母、数字、空格、其他字符(如!@#$% 等);
– 输入:任意字符串(例如"Hello 123 World!@#");
– 输出:清晰展示各类字符的频次;
– 要求:使用 String 类的 `charAt()` 或 `toCharArray()` 遍历字符,结合字符的 ASCII 范围判断类型。
2.思路分析
-
准备工作
- 导入 Scanner 用来读取用户输入。
- 创建 Scanner 对象,准备接收键盘输入。
- 用 nextLine() 读取用户输入的一整行字符串。
- 把字符串转成字符数组,方便逐个检查字符。
-
初始化计数器
- 大写字母、小写字母、数字、空格、其他字符,分别用 5 个变量计数,初始都是 0。
-
遍历每个字符
- 用普通 for 循环,从第 0 个字符一直遍历到最后一个。
- 每次取出一个字符 c。
-
判断字符类型并计数
- 如果是 A-Z → 大写字母计数 +1
- 否则如果是 a-z → 小写字母计数 +1
- 否则如果是 0-9 → 数字计数 +1
- 否则如果是空格 → 空格计数 +1
- 剩下的都算 “其他字符” → 其他计数 +1
-
输出结果
- 按格式打印每一类字符的数量。
3.解题思路
public class count {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入");
String str = sc.nextLine();
char[] arr=str.toCharArray();
int upper = 0;//大写字母
int lower = 0;//小写字母
int digit = 0;//数字
int space = 0;//空格
int other = 0;//其他字符
for (int i = 0; i < arr.length; i++) {
//根据索引获取
char c = arr[i];
if (c >= 'A' && c <= 'Z') {
upper++;
} else if (c >= 'a' && c <= 'z') {
lower++;
} else if (c>='0'&&c<='9') {
digit++;
} else if (c == ' ') {
space++;
}else {
other++;
}
}
System.out.println("大写字母:"+upper);
System.out.println("小写字母:"+lower);
System.out.println("数字:"+digit);
System.out.println("空格:"+space);
System.out.println("其他字母:"+other);
}
}


