我在寫一個程序,它使用運行長度編碼來壓縮字符串。程序來壓縮字符串
E.g.對於輸入「aaabbccccddd」,輸出應該是「a3b2c4d3」。
目前該程序沒有顯示輸出。
public static void main(String[] args) {
String words1 = "aabbbcccc";
String words2 = compress(words1);
System.out.println(words2);
}
private static String compress(String w1) {
StringBuilder w2 = new StringBuilder();
int k = 0;
for (int i = 0; i < w1.length();) {
k++;
if(i+1>w1.length() || w1.charAt(i) != w1.charAt(i+1)) {
w2.append(w1.charAt(i));
w2.append(k);
k = 0;
}
}
return ((w2.length() > w1.length())? w1: w2.toString());
}
輸出在IntelliJ中沒有顯示任何內容,我找不出原因!也試過沒有StringBuilder
。即使在沒有StringBuilder
的情況下嘗試,並且在處理String
時出現問題,並將退貨類型更改爲void
。同樣,沒有結果。
瞭解如何使用IDE的調試器。您可以查看程序的內部運作情況並找出錯誤的位置。 – Henry