我想寫一個遞歸方法來在字符arraylist中的字符之間添加星號。我也試圖避免該方法中的硬編碼。這是我的測試代碼和所需輸出的嘗試。我想使用列表迭代器,但我想知道是否有更好的方法?遞歸添加星號字符
public static String addStars(List<Character> str) {
if (str.isEmpty()) {
return "";
}
else {
char hold = '*';
str.listIterator(1).add(hold);
str.listIterator(3).add(hold);
}
return str.get(0) + addStars(str.subList(2, str.size()));
}
public static void main(String[] args) {
ArrayList<Character> example = new ArrayList<>(Arrays.asList('a', 'b', 'c'));
System.out.println(example); // [a, b, c]
System.out.println(addStars(example)); // a*b*c
System.out.println(example); // [a, *, b, *, c]
}
}
那麼究竟是什麼問題呢? – Mureinik
我的程序沒有輸出我想要的內容。我想知道是否有更實際的解決方案。 –
你想修改現有的列表嗎?或者返回一個新的列表?一般來說,修改變量是一個危險的操作。 – corsiKa