任务是获取每个第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