[英]add every Nth character to string
任务是获取第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; 因此它不会一直使价值翻倍。
您的问题在这里:
n+=n;
第一次是2,然后是4,然后是8 ...
只需使用单独的计数器。
我会在for中使用charAt函数来做到这一点:
public String everyNth(String str, int n) {
String result="";
for(i=0; i<str.length(); i=i+n){
result+=str.charAt(i);
}
return result;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.