對於我需要編寫一個解壓縮字符串的方法的代碼。例如,如果用戶輸入「2d5t」,該方法將返回「ddttttt」。我的代碼現在可以用於該輸入,但是如果輸入使用一個沒有數字的字符,那麼該程序不應該在它應該運行時運行。例如,如果輸入只是「d」,那麼程序將不會返回「d」。代碼也必須是遞歸的。 這裏是我的代碼現在請幫助。基本java程序不能正常工作
public static String decompress(String compressedText) {
if (compressedText.equals(""))
return "";
return decompress(compressedText, charInt(compressedText, 0), 0);
}
public static String decompress(String text, int count, int pos) {
if (pos == text.length() || (pos == text.length()-2 && count == 0))
return "";
else if (count == 0)
return decompress(text, charInt(text, pos+2), pos+2);
return text.charAt(pos+1) + decompress(text, count-1, pos);
}
public static int charInt(String str, int idex) {
return str.charAt(idex) - '0';
}
你聽說過的正則表達式? – broncoAbierto
你使用轉義字符嗎?有人可能想壓縮「1112223333344」。 –