【发布时间】:2021-04-13 08:46:15
【问题描述】:
请帮忙看看下面的java代码。
例如,当我输入 aabbcccd 时,
输出是 99100102d,但应该是 a2b2c3d。
谁能告诉我这段代码的错误是什么? (此代码尝试捕获输入和输出特定字符的输入频率)
import java.util.*;
public class Main {
public static void main(String args[]) {
try {
Scanner scn = new Scanner(System.in);
String s = scn.nextLine(); // taking input
StringBuilder str = new StringBuilder(s);
StringBuilder str_new = new StringBuilder();
int i = 0 ;
while (i < str.length()) {
int count = 1;
while (i < str.length()-1 && str.charAt(i) == str.charAt(i+1)){
count += 1;
i++;
}
if (count == 1)
str_new.append(str.charAt(i));
else
str_new.append(str.charAt(i) + (char)count);
i++;
}
System.out.println(str_new);
} catch (Exception e) {
return;
}
}
}
【问题讨论】:
-
您好,您现在已经有了答案,您可以考虑accepting an answer 来奖励给您最有帮助的评论。
标签: java string stringbuilder