注释 这段代码 import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入一个字符串:"); String str = scanner.nextLine(); String result = ""; char prev = str.charAt(0); int count = 1; for (int i = 1; i < str.length(); i++) { char curr = str.charAt(i); if (curr == prev) { count++; } else { result += prev; if (count > 1) { result += count; } prev = curr; count = 1; } } result += prev; if (count > 1) { result += count; } System.out.println("压缩后的字符串为:" + result); }}
时间: 2024-02-14 12:04:44 浏览: 86
好的,下面是代码注释:
```java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// 创建一个 Scanner 对象,用于获取用户输入
Scanner scanner = new Scanner(System.in);
// 提示用户输入一个字符串
System.out.print("请输入一个字符串:");
// 获取用户输入的字符串
String str = scanner.nextLine();
// 定义一个字符串变量,用于存储压缩后的结果
String result = "";
// 初始化前一个字符为输入字符串的第一个字符
char prev = str.charAt(0);
// 初始化计数器为 1
int count = 1;
// 遍历输入字符串的每个字符
for (int i = 1; i < str.length(); i++) {
// 获取当前字符
char curr = str.charAt(i);
// 判断当前字符是否与前一个字符相同
if (curr == prev) {
// 如果相同,计数器加 1
count++;
} else {
// 如果不同,将前一个字符及其出现次数添加到结果字符串中
result += prev;
if (count > 1) {
result += count;
}
// 更新前一个字符和计数器
prev = curr;
count = 1;
}
}
// 将最后一个字符及其出现次数添加到结果字符串中
result += prev;
if (count > 1) {
result += count;
}
// 输出压缩后的结果字符串
System.out.println("压缩后的字符串为:" + result);
}
}
```
这段代码实现了一个简单的字符串压缩算法,将连续出现的相同字符压缩成一个字符和出现次数的形式。具体实现方式是利用一个计数器记录连续相同字符的出现次数,并在遇到不同字符时将前一个字符及其出现次数添加到结果字符串中。
阅读全文