任務是獲取每個第n個字符並將其放入一個字符串中。 我在中途解決了這個問題。將每第N個字符添加到字符串
如果奇蹟是輸入的字符串,並且int = 2,我將得到以下輸出:「Mrc」,而它應該是「Mrce」。
爲什麼它錯過了最後一個字符?邏輯部分對我來說似乎是合理的。
public String everyNth(String str, int n) {
String firstletter = str.substring(0,1); // We store the first letter as well.
String secondhalf = "";
while(str.length() > n) { // Run as long as n reaches the end of the string.
secondhalf += str.substring(n, n+1); // Add Nth character to string.
n+=n;
}
return firstletter+secondhalf;
}
編輯:增加了一個單獨的計數器,int counter = n;所以它始終沒有使價值翻倍。
除了「N + = N」的錯誤,你實現了可怕的性能。 – dzidzitop 2014-12-07 18:17:10
如果你想要一個更簡單的方法來通過索引從字符串中提取單個字符,你可以使用'str.charAt(index)'而不是子字符串。 – cschieb 2014-12-07 18:18:08
@dzidzitop,即時通訊編程新手。只是試圖做一些簡單的任務。您的解決方案將如何最大限度地提高性能 – kensil 2014-12-07 18:28:24