pta java sdut-String-4 去除字符串中数字字符逆序输出
时间: 2025-06-15 16:24:13 浏览: 13
在Java中,SDUT (Shandong University Test) 的题目通常涉及到字符串操作,这里有一个任务是去除字符串中的所有数字字符,并将剩余的字母字符逆序输出。可以这样做:
```java
public class Main {
public static void main(String[] args) {
String input = "abc123def456"; // 输入字符串
String result = reverseWithoutDigits(input);
System.out.println(result); // 输出: fcedba
}
public static String reverseWithoutDigits(String str) {
// 创建两个指针,一个指向字符串开头,另一个指向结尾
int left = 0;
int right = str.length() - 1;
// 遍历字符串,跳过数字字符,将非数字字符添加到结果中
while (left < right) {
if (!Character.isDigit(str.charAt(left))) { // 非数字字符
result += str.charAt(left); // 添加到结果
left++;
}
else if (!Character.isDigit(str.charAt(right))) { // 右边非数字字符
result += str.charAt(right);
right--;
}
else { // 两边都是数字,向中间移动指针
left++; right--;
}
}
// 如果剩下的是单个非数字字符,直接添加到结果
if (left == right && !Character.isDigit(str.charAt(left))) {
result += str.charAt(left);
}
return result; // 返回逆序后的字符串,去掉数字字符
}
}
```
在这个例子中,`reverseWithoutDigits` 方法通过两个指针同时从字符串两端向中间遍历,遇到数字字符就跳过,非数字字符则添加到结果字符串中,并保持左右指针移动方向相反。
阅读全文
相关推荐

















