任务是获取每第 n 个字符并将其放入字符串中。 我这个问题已经解决一半了。
如果 Miracle 是输入的字符串并且 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;所以它的值(value)不会一直翻倍。
最佳答案
您的问题在这里:
n+=n;
第一次是 2,然后是 4,然后是 8...
只需使用单独的计数器即可。
关于java - 将每第 N 个字符添加到字符串中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27346012/