用Java写一个代码,返回一个新字符串,要求新字符串删除原字符串中连续且重复的字符,重复的字符只保留一个
时间: 2024-03-10 14:50:16 浏览: 22
好的,下面是用Java实现的代码:
```java
public class RemoveDuplicateChars {
public static void main(String[] args) {
String str = "aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz";
String result = removeDuplicates(str);
System.out.println("Original string: " + str);
System.out.println("String after removing duplicates: " + result);
}
public static String removeDuplicates(String str) {
if (str == null || str.isEmpty()) {
return str;
}
StringBuilder sb = new StringBuilder();
char lastChar = str.charAt(0);
sb.append(lastChar);
for (int i = 1; i < str.length(); i++) {
char currChar = str.charAt(i);
if (currChar != lastChar) {
sb.append(currChar);
lastChar = currChar;
}
}
return sb.toString();
}
}
```
这个程序定义了一个名为 `removeDuplicates` 的方法,该方法接受一个字符串作为参数,并返回一个新字符串,其中删除了原字符串中的连续且重复字符。在 `removeDuplicates` 方法中,我们首先检查传入的字符串是否为空或为空字符串,如果是,我们直接返回该字符串。否则,我们创建一个 `StringBuilder` 对象 `sb`,并将原字符串的第一个字符添加到 `sb` 中。接下来,我们遍历原字符串的每个字符,如果当前字符与上一个字符不同,则将其添加到 `sb` 中,并将 `lastChar` 更新为当前字符。最后,我们将 `sb` 转换为字符串并返回它。