写出完整的代码包括主函数,运行
时间: 2024-09-26 16:09:01 浏览: 19
当然,这是完整的Java代码示例,包含了main函数和`moveZerosToEnd`方法,用于将数字字符串中的所有0移到末尾:
```java
public class MoveZeros {
public static void main(String[] args) {
String input = "3210456";
String result = moveZerosToEnd(input);
System.out.println("原始字符串: " + input);
System.out.println("处理后的字符串: " + result);
}
/**
* 移动字符串中的所有0到字符串末尾
* @param input 输入的字符串
* @return 移除0后的新字符串
*/
public static String moveZerosToEnd(String input) {
if (input == null || input.isEmpty()) {
return input;
}
StringBuilder sb = new StringBuilder(input); // 创建StringBuilder以提高操作效率
int zeroCount = 0;
for (int i = 0; i < sb.length(); i++) {
if (sb.charAt(i) == '0') {
zeroCount++;
} else {
if (zeroCount > 0) {
for (int j = 0; j < zeroCount; j++) {
sb.insert(sb.length() - 1 - j, '0');
}
}
sb.setCharAt(i, sb.charAt(i)); // 将非零字符插入到适当位置
zeroCount = 0; // 重置计数
}
}
if (zeroCount > 0) { // 检查最后是否有剩余的0
for (int j = 0; j < zeroCount; j++) {
sb.append('0');
}
}
return sb.toString();
}
}
```
这段代码会先检查输入的字符串是否为空,然后创建一个StringBuilder来高效地添加和替换字符。当找到非零字符时,会将其移至适当位置,并减少零的数量。如果遍历结束后仍有零,则在字符串末尾添加它们。